Что такое опция компилятора ARMCC для автоматической вставки инструкций предварительной выборки в процессе компиляции?

Я пытаюсь оценить выигрыш, если я вручную вставляю инструкции по предварительной выборке в исходный код и когда я приказываю компилятору ARMCC автоматически вставлять эти инструкции по предварительной выборке. Но я не знаю опции компиляции (командной строки), которая приказывает компилятору ARMCC автоматически вставлять инструкции предварительной выборки в процессе компиляции. Спасибо !


person Perrin NT    schedule 24.02.2016    source источник


Ответы (1)


Они находятся в теме документации Глава 10 Компилятор -специальные функции

__pld: этот внутренний вставляет предварительную выборку данных, например PLD, в поток инструкций, сгенерированный компилятором. Он позволяет сигнализировать системе памяти из программы на C или C++ о том, что в ближайшем будущем возможна загрузка данных с адреса.

__pldw: этот внутренний вставляет инструкцию PLDW в поток инструкций, сгенерированный компилятором. Это позволяет вам сигнализировать системе памяти из вашей программы на C или C++ о том, что в ближайшем будущем возможна загрузка данных с адреса с намерением записи. Эта встроенная функция вставляет инструкцию PLDW в поток инструкций, сгенерированный компилятором. Это позволяет вам сигнализировать системе памяти из вашей программы на C или C++ о том, что в ближайшем будущем возможна загрузка данных с адреса с намерением записи.

__pli: этот внутренний вставляет предварительную выборку инструкций, например PLI, в поток инструкций, сгенерированный компилятором. Он позволяет сигнализировать системе памяти из программы на C или C++ о том, что в ближайшем будущем возможна загрузка инструкции с адреса.

person auselen    schedule 24.02.2016
comment
Спасибо @auselen, я знаю об этом, и я использовал эту встроенную функцию для вставки инструкций по предварительной выборке данных вручную в мой исходный код, и ARMCC соответственно сгенерировал PLD. Но то, что я прошу, - это знать возможность перехода в командную строку компилятора ARMCC (как с gcc ... --fprefetch-loop-arrays), чтобы приказать компилятору ARMCC добавить PLD в сгенерированный поток инструкций. Моя цель — сравнить то, что делает ARMCC, с тем, что делаю я. - person Perrin NT; 24.02.2016