| #include<stdio.h> | |
| #include<assert.h> | |
| int main() | |
| { | |
| int input, result, dsp; | |
| int hope; | |
| input = 0x701BA35E; | |
| hope = 0x701B5D5E; | |
| __asm | |
| ("absq_s.qb %0, %1\n\t" | |
| : "=r"(result) | |
| : "r"(input) | |
| ); | |
| assert(result == hope); | |
| 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; | |
| assert(dsp == 1); | |
| assert(result == hope); | |
| return 0; | |
| } |