1*d901eff3SJia Liu #include <stdio.h> 2*d901eff3SJia Liu 3*d901eff3SJia Liu int main(void) 4*d901eff3SJia Liu { 5*d901eff3SJia Liu int a, result; 6*d901eff3SJia Liu float b, c; 7*d901eff3SJia Liu 8*d901eff3SJia Liu a = 0; 9*d901eff3SJia Liu b = 122.5; 10*d901eff3SJia Liu c = 123.5; 11*d901eff3SJia Liu result = 0x1; 12*d901eff3SJia Liu __asm 13*d901eff3SJia Liu ("lfges:\n\t" 14*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 15*d901eff3SJia Liu "lf.sfge.s %1, %2\n\t" 16*d901eff3SJia Liu "l.bf lfges\n\t" 17*d901eff3SJia Liu "l.nop\n\t" 18*d901eff3SJia Liu : "+r"(a) 19*d901eff3SJia Liu : "r"(b), "r"(c) 20*d901eff3SJia Liu ); 21*d901eff3SJia Liu if (a != result) { 22*d901eff3SJia Liu printf("lf.sfge.s error\n"); 23*d901eff3SJia Liu return -1; 24*d901eff3SJia Liu } 25*d901eff3SJia Liu 26*d901eff3SJia Liu b = 133.5; 27*d901eff3SJia Liu c = 13.5; 28*d901eff3SJia Liu result = 0x3; 29*d901eff3SJia Liu __asm 30*d901eff3SJia Liu ("l.addi %0, %0, 0x1\n\t" 31*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 32*d901eff3SJia Liu "lf.sfge.s %1, %2\n\t" 33*d901eff3SJia Liu "l.bf 1f\n\t" 34*d901eff3SJia Liu "l.nop\n\t" 35*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 36*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 37*d901eff3SJia Liu "1:\n\t" 38*d901eff3SJia Liu : "+r"(a) 39*d901eff3SJia Liu : "r"(b), "r"(c) 40*d901eff3SJia Liu ); 41*d901eff3SJia Liu if (a != result) { 42*d901eff3SJia Liu printf("lf.sfge.s error\n"); 43*d901eff3SJia Liu return -1; 44*d901eff3SJia Liu } 45*d901eff3SJia Liu 46*d901eff3SJia Liu /* int a, result; 47*d901eff3SJia Liu double b, c; 48*d901eff3SJia Liu 49*d901eff3SJia Liu a = 0x1; 50*d901eff3SJia Liu b = 122.5; 51*d901eff3SJia Liu c = 123.5; 52*d901eff3SJia Liu result = 0x2; 53*d901eff3SJia Liu __asm 54*d901eff3SJia Liu ("lfged:\n\t" 55*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 56*d901eff3SJia Liu "lf.sfge.d %1, %2\n\t" 57*d901eff3SJia Liu "l.bf lfged\n\t" 58*d901eff3SJia Liu "l.nop\n\t" 59*d901eff3SJia Liu : "+r"(a) 60*d901eff3SJia Liu : "r"(b), "r"(c) 61*d901eff3SJia Liu ); 62*d901eff3SJia Liu if (a != result) { 63*d901eff3SJia Liu printf("lf.sfge.d error\n"); 64*d901eff3SJia Liu return -1; 65*d901eff3SJia Liu } 66*d901eff3SJia Liu 67*d901eff3SJia Liu b = 133.5; 68*d901eff3SJia Liu c = 13.5; 69*d901eff3SJia Liu result = 0x4; 70*d901eff3SJia Liu __asm 71*d901eff3SJia Liu ("lf.sfge.d %1, %2\n\t" 72*d901eff3SJia Liu "l.bf 1f\n\t" 73*d901eff3SJia Liu "l.nop\n\t" 74*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 75*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 76*d901eff3SJia Liu "1:\n\t" 77*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 78*d901eff3SJia Liu "l.addi %0, %0, 0x1\n\t" 79*d901eff3SJia Liu : "+r"(a) 80*d901eff3SJia Liu : "r"(b), "r"(c) 81*d901eff3SJia Liu ); 82*d901eff3SJia Liu if (a != result) { 83*d901eff3SJia Liu printf("lf.sfge.d error\n"); 84*d901eff3SJia Liu return -1; 85*d901eff3SJia Liu }*/ 86*d901eff3SJia Liu 87*d901eff3SJia Liu return 0; 88*d901eff3SJia Liu } 89