1#include <stdio.h> 2 3int main(void) 4{ 5 int a; 6 int result; 7 8 a = 0; 9 result = 4; 10 __asm 11 ("1:\n\t" 12 "l.addi %0, %0, 4\n\t" 13 "l.sflesi %0, 0x3\n\t" 14 "l.bf 1b\n\t" 15 "l.nop\n\t" 16 : "+r"(a) 17 ); 18 if (a != result) { 19 printf("sflesi error\n"); 20 return -1; 21 } 22 23 a = 0; 24 result = 4; 25 __asm 26 ("1:\n\t" 27 "l.addi %0, %0, 1\n\t" 28 "l.sflesi %0, 0x3\n\t" 29 "l.bf 1b\n\t" 30 "l.nop\n\t" 31 : "+r"(a) 32 ); 33 if (a != result) { 34 printf("sflesi error\n"); 35 return -1; 36 } 37 38 return 0; 39} 40