armv8 NEON если условие

if-statement arm overflow conditional-statements neon

450 просмотра

1 ответ

Я хотел бы понять, если условие в коде встроенного ассемблера NEON armv8. В armv7 это стало возможным благодаря проверке битов переполнения следующим образом:

  VMRS r4, FPSCR            
  BIC r4, r4, #(1<<27)      
  VMSR FPSCR, r4     

  vtst.16  d30, d30, d30    
  vqadd.u16  d30, d30, d30 

  vmrs r4, FPSCR            
  tst  r4, #(1<<27)         
  bne label1

Но я не могу достичь этого в эквивалентном коде armv8. Кажется, что SQADD не влияет на бит переполнения в FPSR, или я не могу проверить это следующим образом. Возможно ли это или есть лучший подход, как пропустить длинную часть кода?

Спасибо

Автор: Roman Источник Размещён: 06.11.2019 11:07

Ответы (1)


1 плюс

Та же информация доступна в Aarch64. Вам просто нужно заменить:

VMSR r4, FPSCR VMRS FPSCR, r4

по:

MRS w4, FPSR MSR FPSR, w4

Автор: Dric512 Размещён: 25.03.2018 08:28
Вопросы из категории :
32x32