#include int main(void) { int a, result; float b, c; a = 0x1; b = 122.5; c = 123.5; result = 0x3; __asm ("lfeqd:\n\t" "l.addi %0, %0, 0x1\n\t" "lf.sfeq.s %1, %2\n\t" "l.bf lfeqd\n\t" "l.nop\n\t" "l.addi %0, %0, 0x1\n\t" : "+r"(a) : "r"(b), "r"(c) ); if (a != result) { printf("lf.sfeq.s error\n"); return -1; } b = 13.5; c = 13.5; result = 0x3; __asm ("lf.sfeq.s %1, %2\n\t" "l.bf 1f\n\t" "l.nop\n\t" "l.addi r4, r4, 0x1\n\t" "1:\n\t" : "+r"(a) : "r"(b), "r"(c) ); if (a != result) { printf("lf.sfeq.s error\n"); return -1; } /* double b, c; double result; int a; a = 0x1; b = 122.5; c = 133.5; result = 0x3; __asm ("lfeqd:\n\t" "l.addi %0, %0, 0x1\n\t" "lf.sfeq.d %1, %2\n\t" "l.bf lfeqd\n\t" "l.nop\n\t" "l.addi %0, %0, 0x1\n\t" : "+r"(a) : "r"(b), "r"(c) ); if (a != result) { printf("lf.sfeq.d error\n"); return -1; } double c, d, res; int e = 0; c = 11.5; d = 11.5; res = 1; __asm ("lf.sfeq.d %1, %2\n\t" "l.bf 1f\n\t" "l.nop\n\t" "l.addi %0, %0, 0x1\n\t" "1:\n\t" : "+r"(e) : "r"(c), "r"(d) ); if (e != res) { printf("lf.sfeq.d error\n"); return -1; }*/ return 0; }