Я пытаюсь оценить коэффициент усиления, если я вставляю инструкции предварительной выборки вручную в исходный код и когда я приказываю компилятору ARMCC автоматически вставлять эти инструкции предварительной выборки. Но я не знаю параметр компиляции (command-line), который заказывает компилятор ARMCC для автоматического ввода инструкций предварительной выборки в процессе компиляции. Спасибо!Что такое параметр компилятора ARMCC для автоматической вставки инструкций предварительной выборки во время процесса компиляции?
ответ
Они находятся под документацией темы Chapter 10 Compiler-specific Features
__pld
: Эти внутренних вставки упреждающей выборки данных, например, PLD, в поток команд, генерируемый компилятором. Это позволяет вам сигнализировать системе памяти из вашей программы на C или C++, что загрузка данных с адреса, скорее всего, в ближайшем будущем.
__pldw
: Этот встроенный вставляет инструкцию PLDW в поток команд, сгенерированный компилятором. Это позволяет вам сигнализировать системе памяти из вашей программы на C или C++, что загрузка данных с адреса с намерением писать, вероятно, в ближайшем будущем. Эта встроенная вставка инструкции PLDW в поток команд, сгенерированный компилятором. Это позволяет вам сигнализировать системе памяти из вашей программы на C или C++, что загрузка данных с адреса с намерением писать, вероятно, в ближайшем будущем.
__pli
: Этот встроенный вставляет предварительную выборку команды, например PLI, в поток команд, сгенерированный компилятором. Это позволяет вам сигнализировать системе памяти из вашей программы на C или C++, что загрузка команды с адреса, вероятно, будет в ближайшем будущем.
Спасибо @auselen Я знаю об этом, и я использовал это внутреннее значение для вставки инструкций предварительной выборки данных вручную в исходный код и ARMCC сгенерированный PLD соответственно. Но я должен знать, что нужно передать в командную строку компилятора ARMCC (как и с gcc ... --fprefetch-loop-arrays), чтобы заказать компилятор ARMCC для добавления PLD в генерируемый поток команд. Моя цель - сравнить то, что делает ARMCC с тем, что я делаю. –