| #include "io.h" |
| int main() |
| { |
| long long input, result, dsp; |
| long long hope; |
| |
| input = 0x701BA35E; |
| hope = 0x701B5D5E; |
| |
| __asm |
| ("absq_s.qb %0, %1\n\t" |
| : "=r"(result) |
| : "r"(input) |
| ); |
| if (result != hope) { |
| printf("absq_s.qb error\n"); |
| return -1; |
| } |
| |
| input = 0x801BA35E; |
| hope = 0x7F1B5D5E; |
| |
| __asm |
| ("absq_s.qb %0, %2\n\t" |
| "rddsp %1\n\t" |
| : "=r"(result), "=r"(dsp) |
| : "r"(input) |
| ); |
| dsp = dsp >> 20; |
| dsp &= 0x01; |
| if (result != hope) { |
| printf("absq_s.qb error\n"); |
| return -1; |
| } |
| |
| if (dsp != 1) { |
| printf("absq_s.qb error\n"); |
| return -1; |
| } |
| |
| return 0; |
| } |