| #include <stdio.h> |
| |
| #define TESTINST(instruction, in, in1, pos, size) \ |
| { \ |
| unsigned long long out; \ |
| __asm__ __volatile__( \ |
| "move $t0, %2" "\n\t" \ |
| "move $t1, %1" "\n\t" \ |
| instruction" $t0, $t1, "#pos", "#size "\n\t" \ |
| "move %0, $t0" "\n\t" \ |
| : "=r" (out) \ |
| : "r" (in), "r" (in1) \ |
| : "t0", "t1" \ |
| ); \ |
| printf("%s :: in 0x%llx, in1 0x%llx, out 0x%llx, pos: %d, size: %d\n", \ |
| instruction, (long long) in, (long long) in1, out, pos, size); \ |
| } |
| |
| int main() |
| { |
| #if (__mips == 64) && (__mips_isa_rev >= 2) |
| printf("--- INS ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 0 <= pos < 32 |
| 0 < size <= 32 |
| 0 < pos+size <= 32 */ |
| TESTINST("ins", 0x0, 0x0, 0, 1); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 0, 1); |
| TESTINST("ins", 0x0, 0x98765432, 0, 1); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 0, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 0, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 0, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 1); |
| TESTINST("ins", 0x98765432, 0x0, 0, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 0, 1); |
| TESTINST("ins", 0x98765432, 0x98765432, 0, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 0, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 0, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 0, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 1); |
| TESTINST("ins", 0x0, 0x0, 0, 4); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 0, 4); |
| TESTINST("ins", 0x0, 0x98765432, 0, 4); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 0, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 0, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 0, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 4); |
| TESTINST("ins", 0x98765432, 0x0, 0, 4); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 0, 4); |
| TESTINST("ins", 0x98765432, 0x98765432, 0, 4); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 0, 4); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 0, 4); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 4); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 0, 4); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 4); |
| TESTINST("ins", 0x0, 0x0, 0, 16); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 0, 16); |
| TESTINST("ins", 0x0, 0x98765432, 0, 16); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 0, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 0, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 0, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 16); |
| TESTINST("ins", 0x98765432, 0x0, 0, 16); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 0, 16); |
| TESTINST("ins", 0x98765432, 0x98765432, 0, 16); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 0, 16); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 0, 16); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 16); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 0, 16); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 16); |
| TESTINST("ins", 0x0, 0x0, 0, 32); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 0, 32); |
| TESTINST("ins", 0x0, 0x98765432, 0, 32); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 0, 32); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 0, 32); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 0, 32); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 32); |
| TESTINST("ins", 0x98765432, 0x0, 0, 32); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 0, 32); |
| TESTINST("ins", 0x98765432, 0x98765432, 0, 32); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 0, 32); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 0, 32); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 32); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 0, 32); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 32); |
| |
| TESTINST("ins", 0x0, 0x0, 4, 1); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 4, 1); |
| TESTINST("ins", 0x0, 0x98765432, 4, 1); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 4, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 4, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 4, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 1); |
| TESTINST("ins", 0x98765432, 0x0, 4, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 4, 1); |
| TESTINST("ins", 0x98765432, 0x98765432, 4, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 4, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 4, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 4, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 1); |
| TESTINST("ins", 0x0, 0x0, 4, 4); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 4, 4); |
| TESTINST("ins", 0x0, 0x98765432, 4, 4); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 4, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 4, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 4, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 4); |
| TESTINST("ins", 0x98765432, 0x0, 4, 4); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 4, 4); |
| TESTINST("ins", 0x98765432, 0x98765432, 4, 4); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 4, 4); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 4, 4); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 4); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 4, 4); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 4); |
| TESTINST("ins", 0x0, 0x0, 4, 16); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 4, 16); |
| TESTINST("ins", 0x0, 0x98765432, 4, 16); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 4, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 4, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 4, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 16); |
| TESTINST("ins", 0x98765432, 0x0, 4, 16); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 4, 16); |
| TESTINST("ins", 0x98765432, 0x98765432, 4, 16); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 4, 16); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 4, 16); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 16); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 4, 16); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 16); |
| TESTINST("ins", 0x0, 0x0, 4, 28); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 4, 28); |
| TESTINST("ins", 0x0, 0x98765432, 4, 28); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 4, 28); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 4, 28); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 28); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 4, 28); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 28); |
| TESTINST("ins", 0x98765432, 0x0, 4, 28); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 4, 28); |
| TESTINST("ins", 0x98765432, 0x98765432, 4, 28); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 4, 28); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 4, 28); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 28); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 4, 28); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 28); |
| |
| TESTINST("ins", 0x0, 0x0, 16, 1); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 16, 1); |
| TESTINST("ins", 0x0, 0x98765432, 16, 1); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 16, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 16, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 16, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 16, 1); |
| TESTINST("ins", 0x98765432, 0x0, 16, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 16, 1); |
| TESTINST("ins", 0x98765432, 0x98765432, 16, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 16, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 16, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 16, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 16, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 16, 1); |
| TESTINST("ins", 0x0, 0x0, 16, 4); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 16, 4); |
| TESTINST("ins", 0x0, 0x98765432, 16, 4); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 16, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 16, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 16, 4); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 16, 4); |
| TESTINST("ins", 0x98765432, 0x0, 16, 4); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 16, 4); |
| TESTINST("ins", 0x98765432, 0x98765432, 16, 4); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 16, 4); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 16, 4); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 16, 4); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 16, 4); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 16, 4); |
| TESTINST("ins", 0x0, 0x0, 16, 16); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 16, 16); |
| TESTINST("ins", 0x0, 0x98765432, 16, 16); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 16, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 16, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 16, 16); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 16, 16); |
| TESTINST("ins", 0x98765432, 0x0, 16, 16); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 16, 16); |
| TESTINST("ins", 0x98765432, 0x98765432, 16, 16); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 16, 16); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 16, 16); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 16, 16); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 16, 16); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 16, 16); |
| |
| TESTINST("ins", 0x0, 0x0, 31, 1); |
| TESTINST("ins", 0x0, 0xffffffffffffffff, 31, 1); |
| TESTINST("ins", 0x0, 0x98765432, 31, 1); |
| TESTINST("ins", 0x0, 0xffffffffff865421, 31, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x0, 31, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0x98765432, 31, 1); |
| TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 31, 1); |
| TESTINST("ins", 0x98765432, 0x0, 31, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffffffffff, 31, 1); |
| TESTINST("ins", 0x98765432, 0x98765432, 31, 1); |
| TESTINST("ins", 0x98765432, 0xffffffffff865421, 31, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x0, 31, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 31, 1); |
| TESTINST("ins", 0xffffffffff865421, 0x98765432, 31, 1); |
| TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 31, 1); |
| |
| printf("--- EXT ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 0 <= pos < 32 |
| 0 < size <= 32 |
| 0 < pos+size <= 32 */ |
| TESTINST("ext", 0x0, 0x0, 0, 1); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 0, 1); |
| TESTINST("ext", 0x0, 0x98765432, 0, 1); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 0, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 0, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 0, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 1); |
| TESTINST("ext", 0x98765432, 0x0, 0, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 0, 1); |
| TESTINST("ext", 0x98765432, 0x98765432, 0, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 0, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 0, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 0, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 1); |
| TESTINST("ext", 0x0, 0x0, 0, 4); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 0, 4); |
| TESTINST("ext", 0x0, 0x98765432, 0, 4); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 0, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 0, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 0, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 4); |
| TESTINST("ext", 0x98765432, 0x0, 0, 4); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 0, 4); |
| TESTINST("ext", 0x98765432, 0x98765432, 0, 4); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 0, 4); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 0, 4); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 4); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 0, 4); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 4); |
| TESTINST("ext", 0x0, 0x0, 0, 16); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 0, 16); |
| TESTINST("ext", 0x0, 0x98765432, 0, 16); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 0, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 0, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 0, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 16); |
| TESTINST("ext", 0x98765432, 0x0, 0, 16); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 0, 16); |
| TESTINST("ext", 0x98765432, 0x98765432, 0, 16); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 0, 16); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 0, 16); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 16); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 0, 16); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 16); |
| TESTINST("ext", 0x0, 0x0, 0, 32); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 0, 32); |
| TESTINST("ext", 0x0, 0x98765432, 0, 32); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 0, 32); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 0, 32); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 0, 32); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 32); |
| TESTINST("ext", 0x98765432, 0x0, 0, 32); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 0, 32); |
| TESTINST("ext", 0x98765432, 0x98765432, 0, 32); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 0, 32); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 0, 32); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 32); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 0, 32); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 32); |
| |
| TESTINST("ext", 0x0, 0x0, 4, 1); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 4, 1); |
| TESTINST("ext", 0x0, 0x98765432, 4, 1); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 4, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 4, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 4, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 1); |
| TESTINST("ext", 0x98765432, 0x0, 4, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 4, 1); |
| TESTINST("ext", 0x98765432, 0x98765432, 4, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 4, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 4, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 4, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 1); |
| TESTINST("ext", 0x0, 0x0, 4, 4); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 4, 4); |
| TESTINST("ext", 0x0, 0x98765432, 4, 4); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 4, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 4, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 4, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 4); |
| TESTINST("ext", 0x98765432, 0x0, 4, 4); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 4, 4); |
| TESTINST("ext", 0x98765432, 0x98765432, 4, 4); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 4, 4); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 4, 4); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 4); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 4, 4); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 4); |
| TESTINST("ext", 0x0, 0x0, 4, 16); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 4, 16); |
| TESTINST("ext", 0x0, 0x98765432, 4, 16); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 4, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 4, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 4, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 16); |
| TESTINST("ext", 0x98765432, 0x0, 4, 16); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 4, 16); |
| TESTINST("ext", 0x98765432, 0x98765432, 4, 16); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 4, 16); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 4, 16); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 16); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 4, 16); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 16); |
| TESTINST("ext", 0x0, 0x0, 4, 28); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 4, 28); |
| TESTINST("ext", 0x0, 0x98765432, 4, 28); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 4, 28); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 4, 28); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 28); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 4, 28); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 28); |
| TESTINST("ext", 0x98765432, 0x0, 4, 28); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 4, 28); |
| TESTINST("ext", 0x98765432, 0x98765432, 4, 28); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 4, 28); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 4, 28); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 28); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 4, 28); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 28); |
| |
| TESTINST("ext", 0x0, 0x0, 16, 1); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 16, 1); |
| TESTINST("ext", 0x0, 0x98765432, 16, 1); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 16, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 16, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 16, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 16, 1); |
| TESTINST("ext", 0x98765432, 0x0, 16, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 16, 1); |
| TESTINST("ext", 0x98765432, 0x98765432, 16, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 16, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 16, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 16, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 16, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 16, 1); |
| TESTINST("ext", 0x0, 0x0, 16, 4); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 16, 4); |
| TESTINST("ext", 0x0, 0x98765432, 16, 4); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 16, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 16, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 16, 4); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 16, 4); |
| TESTINST("ext", 0x98765432, 0x0, 16, 4); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 16, 4); |
| TESTINST("ext", 0x98765432, 0x98765432, 16, 4); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 16, 4); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 16, 4); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 16, 4); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 16, 4); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 16, 4); |
| TESTINST("ext", 0x0, 0x0, 16, 16); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 16, 16); |
| TESTINST("ext", 0x0, 0x98765432, 16, 16); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 16, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 16, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 16, 16); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 16, 16); |
| TESTINST("ext", 0x98765432, 0x0, 16, 16); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 16, 16); |
| TESTINST("ext", 0x98765432, 0x98765432, 16, 16); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 16, 16); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 16, 16); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 16, 16); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 16, 16); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 16, 16); |
| |
| TESTINST("ext", 0x0, 0x0, 31, 1); |
| TESTINST("ext", 0x0, 0xffffffffffffffff, 31, 1); |
| TESTINST("ext", 0x0, 0x98765432, 31, 1); |
| TESTINST("ext", 0x0, 0xffffffffff865421, 31, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x0, 31, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0x98765432, 31, 1); |
| TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 31, 1); |
| TESTINST("ext", 0x98765432, 0x0, 31, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffffffffff, 31, 1); |
| TESTINST("ext", 0x98765432, 0x98765432, 31, 1); |
| TESTINST("ext", 0x98765432, 0xffffffffff865421, 31, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x0, 31, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 31, 1); |
| TESTINST("ext", 0xffffffffff865421, 0x98765432, 31, 1); |
| TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 31, 1); |
| |
| printf("--- DEXT ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 0 <= pos < 32 |
| 0 < size <= 32 |
| 0 < pos+size <= 63 */ |
| TESTINST("dext", 0x0, 0x0, 0, 1); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 0, 1); |
| TESTINST("dext", 0x0, 0x98765432, 0, 1); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 0, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 0, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 0, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 1); |
| TESTINST("dext", 0x98765432, 0x0, 0, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 0, 1); |
| TESTINST("dext", 0x98765432, 0x98765432, 0, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 0, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 0, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 0, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 1); |
| TESTINST("dext", 0x0, 0x0, 0, 4); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 0, 4); |
| TESTINST("dext", 0x0, 0x98765432, 0, 4); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 0, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 0, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 0, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 4); |
| TESTINST("dext", 0x98765432, 0x0, 0, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 0, 4); |
| TESTINST("dext", 0x98765432, 0x98765432, 0, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 0, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 0, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 0, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 4); |
| TESTINST("dext", 0x0, 0x0, 0, 16); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 0, 16); |
| TESTINST("dext", 0x0, 0x98765432, 0, 16); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 0, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 0, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 0, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 16); |
| TESTINST("dext", 0x98765432, 0x0, 0, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 0, 16); |
| TESTINST("dext", 0x98765432, 0x98765432, 0, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 0, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 0, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 0, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 16); |
| TESTINST("dext", 0x0, 0x0, 0, 32); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 0, 32); |
| TESTINST("dext", 0x0, 0x98765432, 0, 32); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 0, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 0, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 0, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 32); |
| TESTINST("dext", 0x98765432, 0x0, 0, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 0, 32); |
| TESTINST("dext", 0x98765432, 0x98765432, 0, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 0, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 0, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 0, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 32); |
| |
| TESTINST("dext", 0x0, 0x0, 4, 1); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 4, 1); |
| TESTINST("dext", 0x0, 0x98765432, 4, 1); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 4, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 4, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 4, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 1); |
| TESTINST("dext", 0x98765432, 0x0, 4, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 4, 1); |
| TESTINST("dext", 0x98765432, 0x98765432, 4, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 4, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 4, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 4, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 1); |
| TESTINST("dext", 0x0, 0x0, 4, 4); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 4, 4); |
| TESTINST("dext", 0x0, 0x98765432, 4, 4); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 4, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 4, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 4, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 4); |
| TESTINST("dext", 0x98765432, 0x0, 4, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 4, 4); |
| TESTINST("dext", 0x98765432, 0x98765432, 4, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 4, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 4, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 4, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 4); |
| TESTINST("dext", 0x0, 0x0, 4, 16); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 4, 16); |
| TESTINST("dext", 0x0, 0x98765432, 4, 16); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 4, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 4, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 4, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 16); |
| TESTINST("dext", 0x98765432, 0x0, 4, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 4, 16); |
| TESTINST("dext", 0x98765432, 0x98765432, 4, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 4, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 4, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 4, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 16); |
| TESTINST("dext", 0x0, 0x0, 4, 32); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 4, 32); |
| TESTINST("dext", 0x0, 0x98765432, 4, 32); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 4, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 4, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 4, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 32); |
| TESTINST("dext", 0x98765432, 0x0, 4, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 4, 32); |
| TESTINST("dext", 0x98765432, 0x98765432, 4, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 4, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 4, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 4, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 32); |
| |
| TESTINST("dext", 0x0, 0x0, 16, 1); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 16, 1); |
| TESTINST("dext", 0x0, 0x98765432, 16, 1); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 16, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 16, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 16, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 1); |
| TESTINST("dext", 0x98765432, 0x0, 16, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 16, 1); |
| TESTINST("dext", 0x98765432, 0x98765432, 16, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 16, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 16, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 16, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 1); |
| TESTINST("dext", 0x0, 0x0, 16, 4); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 16, 4); |
| TESTINST("dext", 0x0, 0x98765432, 16, 4); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 16, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 16, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 16, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 4); |
| TESTINST("dext", 0x98765432, 0x0, 16, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 16, 4); |
| TESTINST("dext", 0x98765432, 0x98765432, 16, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 16, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 16, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 16, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 4); |
| TESTINST("dext", 0x0, 0x0, 16, 16); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 16, 16); |
| TESTINST("dext", 0x0, 0x98765432, 16, 16); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 16, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 16, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 16, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 16); |
| TESTINST("dext", 0x98765432, 0x0, 16, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 16, 16); |
| TESTINST("dext", 0x98765432, 0x98765432, 16, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 16, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 16, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 16, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 16); |
| TESTINST("dext", 0x0, 0x0, 16, 32); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 16, 32); |
| TESTINST("dext", 0x0, 0x98765432, 16, 32); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 16, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 16, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 16, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 32); |
| TESTINST("dext", 0x98765432, 0x0, 16, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 16, 32); |
| TESTINST("dext", 0x98765432, 0x98765432, 16, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 16, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 16, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 16, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 32); |
| |
| TESTINST("dext", 0x0, 0x0, 31, 1); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 31, 1); |
| TESTINST("dext", 0x0, 0x98765432, 31, 1); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 31, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 31, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 31, 1); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 1); |
| TESTINST("dext", 0x98765432, 0x0, 31, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 31, 1); |
| TESTINST("dext", 0x98765432, 0x98765432, 31, 1); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 31, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 31, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 1); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 31, 1); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 1); |
| TESTINST("dext", 0x0, 0x0, 31, 4); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 31, 4); |
| TESTINST("dext", 0x0, 0x98765432, 31, 4); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 31, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 31, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 31, 4); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 4); |
| TESTINST("dext", 0x98765432, 0x0, 31, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 31, 4); |
| TESTINST("dext", 0x98765432, 0x98765432, 31, 4); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 31, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 31, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 4); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 31, 4); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 4); |
| TESTINST("dext", 0x0, 0x0, 31, 16); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 31, 16); |
| TESTINST("dext", 0x0, 0x98765432, 31, 16); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 31, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 31, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 31, 16); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 16); |
| TESTINST("dext", 0x98765432, 0x0, 31, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 31, 16); |
| TESTINST("dext", 0x98765432, 0x98765432, 31, 16); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 31, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 31, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 16); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 31, 16); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 16); |
| TESTINST("dext", 0x0, 0x0, 31, 32); |
| TESTINST("dext", 0x0, 0xffffffffffffffff, 31, 32); |
| TESTINST("dext", 0x0, 0x98765432, 31, 32); |
| TESTINST("dext", 0x0, 0xffffffffff865421, 31, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x0, 31, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0x98765432, 31, 32); |
| TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 32); |
| TESTINST("dext", 0x98765432, 0x0, 31, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffffffffff, 31, 32); |
| TESTINST("dext", 0x98765432, 0x98765432, 31, 32); |
| TESTINST("dext", 0x98765432, 0xffffffffff865421, 31, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x0, 31, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 32); |
| TESTINST("dext", 0xffffffffff865421, 0x98765432, 31, 32); |
| TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 32); |
| |
| TESTINST("dext", 0x2002ffffffffffff, 0xfffffffff0000fff, 4, 4); |
| TESTINST("dext", 0xffff0000ffffffff, 0xff0000ffffffffff, 8, 4); |
| TESTINST("dext", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 4); |
| TESTINST("dext", 0x2000ffffffddddff, 0xffffffffffff0008, 24, 2); |
| TESTINST("dext", 0x2000ffffffffeeee, 0xfffffff31415927f, 24, 4); |
| TESTINST("dext", 0x31415927ffffffff, 0x2000ffffffffffff, 9, 2); |
| TESTINST("dext", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 4); |
| TESTINST("dext", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 4); |
| TESTINST("dext", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7, 4); |
| TESTINST("dext", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5, 4); |
| TESTINST("dext", 0x2000ffffffffbbbb, 0xfffffffff0000fff, 3, 4); |
| TESTINST("dext", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 16); |
| TESTINST("dext", 0x7fffffffddddffff, 0xffffffffffff0008, 16, 32); |
| TESTINST("dext", 0x2000ffffffff2222, 0xfffffff31415927f, 2, 60); |
| TESTINST("dext", 0x2000ffffffffffff, 0x2000ffffffffffff, 16, 6); |
| TESTINST("dext", 0xfffffff31415927f, 0x2000ffffffff2222, 31, 32); |
| TESTINST("dext", 0xffffffffffff0008, 0x7fffffffddddffff, 8, 2); |
| TESTINST("dext", 0xffff0000ffffffff, 0x2000ffffffffffff, 16, 4); |
| TESTINST("dext", 0xff0000ffffffffff, 0, 8, 4); |
| TESTINST("dext", 0xfffffffff0000fff, 0, 16, 4); |
| |
| printf("--- DEXTM ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 0 <= pos < 32 |
| 32 < size <= 64 |
| 32 < pos+size <= 64 */ |
| TESTINST("dextm", 0x0, 0x0, 0, 33); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 0, 33); |
| TESTINST("dextm", 0x0, 0x98765432, 0, 33); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 0, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 0, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 0, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 33); |
| TESTINST("dextm", 0x98765432, 0x0, 0, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 0, 33); |
| TESTINST("dextm", 0x98765432, 0x98765432, 0, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 0, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 0, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 0, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 33); |
| TESTINST("dextm", 0x0, 0x0, 0, 37); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 0, 37); |
| TESTINST("dextm", 0x0, 0x98765432, 0, 37); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 0, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 0, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 0, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 37); |
| TESTINST("dextm", 0x98765432, 0x0, 0, 37); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 0, 37); |
| TESTINST("dextm", 0x98765432, 0x98765432, 0, 37); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 0, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 0, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 0, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 37); |
| TESTINST("dextm", 0x0, 0x0, 0, 48); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 0, 48); |
| TESTINST("dextm", 0x0, 0x98765432, 0, 48); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 0, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 0, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 0, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 48); |
| TESTINST("dextm", 0x98765432, 0x0, 0, 48); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 0, 48); |
| TESTINST("dextm", 0x98765432, 0x98765432, 0, 48); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 0, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 0, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 0, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 48); |
| TESTINST("dextm", 0x0, 0x0, 0, 64); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 0, 64); |
| TESTINST("dextm", 0x0, 0x98765432, 0, 64); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 0, 64); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 0, 64); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 64); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 0, 64); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 64); |
| TESTINST("dextm", 0x98765432, 0x0, 0, 64); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 0, 64); |
| TESTINST("dextm", 0x98765432, 0x98765432, 0, 64); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 0, 64); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 0, 64); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 64); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 0, 64); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 64); |
| |
| TESTINST("dextm", 0x0, 0x0, 4, 33); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 4, 33); |
| TESTINST("dextm", 0x0, 0x98765432, 4, 33); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 4, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 4, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 4, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 33); |
| TESTINST("dextm", 0x98765432, 0x0, 4, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 4, 33); |
| TESTINST("dextm", 0x98765432, 0x98765432, 4, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 4, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 4, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 4, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 33); |
| TESTINST("dextm", 0x0, 0x0, 4, 37); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 4, 37); |
| TESTINST("dextm", 0x0, 0x98765432, 4, 37); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 4, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 4, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 4, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 37); |
| TESTINST("dextm", 0x98765432, 0x0, 4, 37); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 4, 37); |
| TESTINST("dextm", 0x98765432, 0x98765432, 4, 37); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 4, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 4, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 4, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 37); |
| TESTINST("dextm", 0x0, 0x0, 4, 48); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 4, 48); |
| TESTINST("dextm", 0x0, 0x98765432, 4, 48); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 4, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 4, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 4, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 48); |
| TESTINST("dextm", 0x98765432, 0x0, 4, 48); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 4, 48); |
| TESTINST("dextm", 0x98765432, 0x98765432, 4, 48); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 4, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 4, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 4, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 48); |
| TESTINST("dextm", 0x0, 0x0, 4, 60); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 4, 60); |
| TESTINST("dextm", 0x0, 0x98765432, 4, 60); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 4, 60); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 4, 60); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 60); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 4, 60); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 60); |
| TESTINST("dextm", 0x98765432, 0x0, 4, 60); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 4, 60); |
| TESTINST("dextm", 0x98765432, 0x98765432, 4, 60); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 4, 60); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 4, 60); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 60); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 4, 60); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 60); |
| |
| TESTINST("dextm", 0x0, 0x0, 16, 33); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 16, 33); |
| TESTINST("dextm", 0x0, 0x98765432, 16, 33); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 16, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 16, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 16, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 16, 33); |
| TESTINST("dextm", 0x98765432, 0x0, 16, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 16, 33); |
| TESTINST("dextm", 0x98765432, 0x98765432, 16, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 16, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 16, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 16, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 16, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 16, 33); |
| TESTINST("dextm", 0x0, 0x0, 16, 37); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 16, 37); |
| TESTINST("dextm", 0x0, 0x98765432, 16, 37); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 16, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 16, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 16, 37); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 16, 37); |
| TESTINST("dextm", 0x98765432, 0x0, 16, 37); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 16, 37); |
| TESTINST("dextm", 0x98765432, 0x98765432, 16, 37); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 16, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 16, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 16, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 16, 37); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 16, 37); |
| TESTINST("dextm", 0x0, 0x0, 16, 48); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 16, 48); |
| TESTINST("dextm", 0x0, 0x98765432, 16, 48); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 16, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 16, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 16, 48); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 16, 48); |
| TESTINST("dextm", 0x98765432, 0x0, 16, 48); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 16, 48); |
| TESTINST("dextm", 0x98765432, 0x98765432, 16, 48); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 16, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 16, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 16, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 16, 48); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 16, 48); |
| |
| TESTINST("dextm", 0x0, 0x0, 31, 33); |
| TESTINST("dextm", 0x0, 0xffffffffffffffff, 31, 33); |
| TESTINST("dextm", 0x0, 0x98765432, 31, 33); |
| TESTINST("dextm", 0x0, 0xffffffffff865421, 31, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x0, 31, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0x98765432, 31, 33); |
| TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 31, 33); |
| TESTINST("dextm", 0x98765432, 0x0, 31, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffffffffff, 31, 33); |
| TESTINST("dextm", 0x98765432, 0x98765432, 31, 33); |
| TESTINST("dextm", 0x98765432, 0xffffffffff865421, 31, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x0, 31, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 31, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0x98765432, 31, 33); |
| TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 31, 33); |
| |
| TESTINST("dextm", 0x2002ffffffffffff, 0xfffffffff0000fff, 4, 35); |
| TESTINST("dextm", 0xffff0000ffffffff, 0xff0000ffffffffff, 8, 33); |
| TESTINST("dextm", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 34); |
| TESTINST("dextm", 0x2000ffffffddddff, 0xffffffffffff0008, 4, 46); |
| TESTINST("dextm", 0x2000ffffffffeeee, 0xfffffff31415927f, 3, 56); |
| TESTINST("dextm", 0x31415927ffffffff, 0x2000ffffffffffff, 0, 64); |
| TESTINST("dextm", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 40); |
| TESTINST("dextm", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 42); |
| TESTINST("dextm", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7, 43); |
| TESTINST("dextm", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5, 48); |
| TESTINST("dextm", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 3, 52); |
| TESTINST("dextm", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 1, 54); |
| TESTINST("dextm", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 2, 54); |
| TESTINST("dextm", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 2, 48); |
| TESTINST("dextm", 0x2000ffffffffffff, 0x31415927ffffffff, 5, 53); |
| TESTINST("dextm", 0xfffffff31415927f, 0x2000ffffffffeeee, 2, 60); |
| TESTINST("dextm", 0xffffffffffff0008, 0x2000ffffffddddff, 3, 61); |
| TESTINST("dextm", 0xffff0000ffffffff, 0x2000ffffffffffff, 1, 62); |
| TESTINST("dextm", 0xff0000ffffffffff, 0, 8, 38); |
| TESTINST("dextm", 0xfffffffff0000fff, 0, 16, 39); |
| |
| printf("--- DEXTU ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 32 <= pos < 64 |
| 0 < size <= 32 |
| 32 < pos+size <= 64 */ |
| TESTINST("dextu", 0x0, 0x0, 32, 1); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 32, 1); |
| TESTINST("dextu", 0x0, 0x98765432, 32, 1); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 32, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 32, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 32, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 1); |
| TESTINST("dextu", 0x98765432, 0x0, 32, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 32, 1); |
| TESTINST("dextu", 0x98765432, 0x98765432, 32, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 32, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 32, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 32, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 1); |
| TESTINST("dextu", 0x0, 0x0, 32, 4); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 32, 4); |
| TESTINST("dextu", 0x0, 0x98765432, 32, 4); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 32, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 32, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 32, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 4); |
| TESTINST("dextu", 0x98765432, 0x0, 32, 4); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 32, 4); |
| TESTINST("dextu", 0x98765432, 0x98765432, 32, 4); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 32, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 32, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 32, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 4); |
| TESTINST("dextu", 0x0, 0x0, 32, 16); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 32, 16); |
| TESTINST("dextu", 0x0, 0x98765432, 32, 16); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 32, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 32, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 32, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 16); |
| TESTINST("dextu", 0x98765432, 0x0, 32, 16); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 32, 16); |
| TESTINST("dextu", 0x98765432, 0x98765432, 32, 16); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 32, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 32, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 32, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 16); |
| TESTINST("dextu", 0x0, 0x0, 32, 32); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 32, 32); |
| TESTINST("dextu", 0x0, 0x98765432, 32, 32); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 32, 32); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 32, 32); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 32); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 32, 32); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 32); |
| TESTINST("dextu", 0x98765432, 0x0, 32, 32); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 32, 32); |
| TESTINST("dextu", 0x98765432, 0x98765432, 32, 32); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 32, 32); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 32, 32); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 32); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 32, 32); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 32); |
| |
| TESTINST("dextu", 0x0, 0x0, 36, 1); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 36, 1); |
| TESTINST("dextu", 0x0, 0x98765432, 36, 1); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 36, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 36, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 36, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 1); |
| TESTINST("dextu", 0x98765432, 0x0, 36, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 36, 1); |
| TESTINST("dextu", 0x98765432, 0x98765432, 36, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 36, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 36, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 36, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 1); |
| TESTINST("dextu", 0x0, 0x0, 36, 4); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 36, 4); |
| TESTINST("dextu", 0x0, 0x98765432, 36, 4); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 36, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 36, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 36, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 4); |
| TESTINST("dextu", 0x98765432, 0x0, 36, 4); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 36, 4); |
| TESTINST("dextu", 0x98765432, 0x98765432, 36, 4); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 36, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 36, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 36, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 4); |
| TESTINST("dextu", 0x0, 0x0, 36, 16); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 36, 16); |
| TESTINST("dextu", 0x0, 0x98765432, 36, 16); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 36, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 36, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 36, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 16); |
| TESTINST("dextu", 0x98765432, 0x0, 36, 16); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 36, 16); |
| TESTINST("dextu", 0x98765432, 0x98765432, 36, 16); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 36, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 36, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 36, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 16); |
| TESTINST("dextu", 0x0, 0x0, 36, 28); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 36, 28); |
| TESTINST("dextu", 0x0, 0x98765432, 36, 28); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 36, 28); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 36, 28); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 28); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 36, 28); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 28); |
| TESTINST("dextu", 0x98765432, 0x0, 36, 28); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 36, 28); |
| TESTINST("dextu", 0x98765432, 0x98765432, 36, 28); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 36, 28); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 36, 28); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 28); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 36, 28); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 28); |
| |
| TESTINST("dextu", 0x0, 0x0, 48, 1); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 48, 1); |
| TESTINST("dextu", 0x0, 0x98765432, 48, 1); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 48, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 48, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 48, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 48, 1); |
| TESTINST("dextu", 0x98765432, 0x0, 48, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 48, 1); |
| TESTINST("dextu", 0x98765432, 0x98765432, 48, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 48, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 48, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 48, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 48, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 48, 1); |
| TESTINST("dextu", 0x0, 0x0, 48, 4); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 48, 4); |
| TESTINST("dextu", 0x0, 0x98765432, 48, 4); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 48, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 48, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 48, 4); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 48, 4); |
| TESTINST("dextu", 0x98765432, 0x0, 48, 4); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 48, 4); |
| TESTINST("dextu", 0x98765432, 0x98765432, 48, 4); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 48, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 48, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 48, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 48, 4); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 48, 4); |
| TESTINST("dextu", 0x0, 0x0, 48, 16); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 48, 16); |
| TESTINST("dextu", 0x0, 0x98765432, 48, 16); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 48, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 48, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 48, 16); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 48, 16); |
| TESTINST("dextu", 0x98765432, 0x0, 48, 16); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 48, 16); |
| TESTINST("dextu", 0x98765432, 0x98765432, 48, 16); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 48, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 48, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 48, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 48, 16); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 48, 16); |
| |
| TESTINST("dextu", 0x0, 0x0, 63, 1); |
| TESTINST("dextu", 0x0, 0xffffffffffffffff, 63, 1); |
| TESTINST("dextu", 0x0, 0x98765432, 63, 1); |
| TESTINST("dextu", 0x0, 0xffffffffff865421, 63, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x0, 63, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 63, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0x98765432, 63, 1); |
| TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 63, 1); |
| TESTINST("dextu", 0x98765432, 0x0, 63, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffffffffff, 63, 1); |
| TESTINST("dextu", 0x98765432, 0x98765432, 63, 1); |
| TESTINST("dextu", 0x98765432, 0xffffffffff865421, 63, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x0, 63, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 63, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0x98765432, 63, 1); |
| TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 63, 1); |
| |
| TESTINST("dextu", 0x2002ffffffffffff, 0xfffffffff0000fff, 33, 4); |
| TESTINST("dextu", 0xffff0000ffffffff, 0xff0000ffffffffff, 60, 4); |
| TESTINST("dextu", 0x2000ffffffffffff, 0xffff0000ffffffff, 54, 4); |
| TESTINST("dextu", 0x2000ffffffddddff, 0xffffffffffff0008, 56, 2); |
| TESTINST("dextu", 0x2000ffffffffeeee, 0xfffffff31415927f, 40, 4); |
| TESTINST("dextu", 0x31415927ffffffff, 0x2000ffffffffffff, 51, 2); |
| TESTINST("dextu", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 48, 4); |
| TESTINST("dextu", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 38, 4); |
| TESTINST("dextu", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 35, 4); |
| TESTINST("dextu", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 36, 4); |
| TESTINST("dextu", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 45, 1); |
| TESTINST("dextu", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 46, 4); |
| TESTINST("dextu", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 52, 4); |
| TESTINST("dextu", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 40, 8); |
| TESTINST("dextu", 0x2000ffffffffffff, 0x31415927ffffffff, 39, 4); |
| TESTINST("dextu", 0xfffffff31415927f, 0x2000ffffffffeeee, 60, 4); |
| TESTINST("dextu", 0xffffffffffff0008, 0x2000ffffffddddff, 63, 1); |
| TESTINST("dextu", 0xffff0000ffffffff, 0x2000ffffffffffff, 50, 4); |
| TESTINST("dextu", 0xff0000ffffffffff, 0, 36, 4); |
| TESTINST("dextu", 0xfffffffff0000fff, 0, 46, 4); |
| |
| printf("--- DINS ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 0 <= pos < 32 |
| 0 < size <= 32 |
| 0 < pos+size <= 32 */ |
| TESTINST("dins", 0x0, 0x0, 0, 1); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 0, 1); |
| TESTINST("dins", 0x0, 0x98765432, 0, 1); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 0, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 0, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 0, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 1); |
| TESTINST("dins", 0x98765432, 0x0, 0, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 0, 1); |
| TESTINST("dins", 0x98765432, 0x98765432, 0, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 0, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 0, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 0, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 1); |
| TESTINST("dins", 0x0, 0x0, 0, 4); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 0, 4); |
| TESTINST("dins", 0x0, 0x98765432, 0, 4); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 0, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 0, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 0, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 4); |
| TESTINST("dins", 0x98765432, 0x0, 0, 4); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 0, 4); |
| TESTINST("dins", 0x98765432, 0x98765432, 0, 4); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 0, 4); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 0, 4); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 4); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 0, 4); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 4); |
| TESTINST("dins", 0x0, 0x0, 0, 16); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 0, 16); |
| TESTINST("dins", 0x0, 0x98765432, 0, 16); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 0, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 0, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 0, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 16); |
| TESTINST("dins", 0x98765432, 0x0, 0, 16); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 0, 16); |
| TESTINST("dins", 0x98765432, 0x98765432, 0, 16); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 0, 16); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 0, 16); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 16); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 0, 16); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 16); |
| TESTINST("dins", 0x0, 0x0, 0, 32); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 0, 32); |
| TESTINST("dins", 0x0, 0x98765432, 0, 32); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 0, 32); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 0, 32); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 0, 32); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 32); |
| TESTINST("dins", 0x98765432, 0x0, 0, 32); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 0, 32); |
| TESTINST("dins", 0x98765432, 0x98765432, 0, 32); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 0, 32); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 0, 32); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 32); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 0, 32); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 32); |
| |
| TESTINST("dins", 0x0, 0x0, 4, 1); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 4, 1); |
| TESTINST("dins", 0x0, 0x98765432, 4, 1); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 4, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 4, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 4, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 1); |
| TESTINST("dins", 0x98765432, 0x0, 4, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 4, 1); |
| TESTINST("dins", 0x98765432, 0x98765432, 4, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 4, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 4, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 4, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 1); |
| TESTINST("dins", 0x0, 0x0, 4, 4); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 4, 4); |
| TESTINST("dins", 0x0, 0x98765432, 4, 4); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 4, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 4, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 4, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 4); |
| TESTINST("dins", 0x98765432, 0x0, 4, 4); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 4, 4); |
| TESTINST("dins", 0x98765432, 0x98765432, 4, 4); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 4, 4); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 4, 4); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 4); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 4, 4); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 4); |
| TESTINST("dins", 0x0, 0x0, 4, 16); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 4, 16); |
| TESTINST("dins", 0x0, 0x98765432, 4, 16); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 4, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 4, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 4, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 16); |
| TESTINST("dins", 0x98765432, 0x0, 4, 16); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 4, 16); |
| TESTINST("dins", 0x98765432, 0x98765432, 4, 16); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 4, 16); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 4, 16); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 16); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 4, 16); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 16); |
| TESTINST("dins", 0x0, 0x0, 4, 28); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 4, 28); |
| TESTINST("dins", 0x0, 0x98765432, 4, 28); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 4, 28); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 4, 28); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 28); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 4, 28); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 28); |
| TESTINST("dins", 0x98765432, 0x0, 4, 28); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 4, 28); |
| TESTINST("dins", 0x98765432, 0x98765432, 4, 28); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 4, 28); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 4, 28); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 28); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 4, 28); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 28); |
| |
| TESTINST("dins", 0x0, 0x0, 16, 1); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 16, 1); |
| TESTINST("dins", 0x0, 0x98765432, 16, 1); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 16, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 16, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 16, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 16, 1); |
| TESTINST("dins", 0x98765432, 0x0, 16, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 16, 1); |
| TESTINST("dins", 0x98765432, 0x98765432, 16, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 16, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 16, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 16, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 16, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 16, 1); |
| TESTINST("dins", 0x0, 0x0, 16, 4); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 16, 4); |
| TESTINST("dins", 0x0, 0x98765432, 16, 4); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 16, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 16, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 16, 4); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 16, 4); |
| TESTINST("dins", 0x98765432, 0x0, 16, 4); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 16, 4); |
| TESTINST("dins", 0x98765432, 0x98765432, 16, 4); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 16, 4); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 16, 4); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 16, 4); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 16, 4); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 16, 4); |
| TESTINST("dins", 0x0, 0x0, 16, 16); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 16, 16); |
| TESTINST("dins", 0x0, 0x98765432, 16, 16); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 16, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 16, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 16, 16); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 16, 16); |
| TESTINST("dins", 0x98765432, 0x0, 16, 16); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 16, 16); |
| TESTINST("dins", 0x98765432, 0x98765432, 16, 16); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 16, 16); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 16, 16); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 16, 16); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 16, 16); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 16, 16); |
| |
| TESTINST("dins", 0x0, 0x0, 31, 1); |
| TESTINST("dins", 0x0, 0xffffffffffffffff, 31, 1); |
| TESTINST("dins", 0x0, 0x98765432, 31, 1); |
| TESTINST("dins", 0x0, 0xffffffffff865421, 31, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x0, 31, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0x98765432, 31, 1); |
| TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 31, 1); |
| TESTINST("dins", 0x98765432, 0x0, 31, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffffffffff, 31, 1); |
| TESTINST("dins", 0x98765432, 0x98765432, 31, 1); |
| TESTINST("dins", 0x98765432, 0xffffffffff865421, 31, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x0, 31, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 31, 1); |
| TESTINST("dins", 0xffffffffff865421, 0x98765432, 31, 1); |
| TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 31, 1); |
| |
| TESTINST("dins", 0x2002ffffffffffff, 0xfffffffff0000fff, 4, 4); |
| TESTINST("dins", 0xffff0000ffffffff, 0xff0000ffffffffff, 8, 4); |
| TESTINST("dins", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 4); |
| TESTINST("dins", 0x2000ffffffddddff, 0xffffffffffff0008, 24, 2); |
| TESTINST("dins", 0x2000ffffffffeeee, 0xfffffff31415927f, 24, 4); |
| TESTINST("dins", 0x31415927ffffffff, 0x2000ffffffffffff, 9, 2); |
| TESTINST("dins", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 4); |
| TESTINST("dins", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 4); |
| TESTINST("dins", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7, 4); |
| TESTINST("dins", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5, 4); |
| TESTINST("dins", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 3, 4); |
| TESTINST("dins", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 16, 4); |
| TESTINST("dins", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 16, 2); |
| TESTINST("dins", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 2, 8); |
| TESTINST("dins", 0x2000ffffffffffff, 0x2000ffffffffeeee, 0, 32); |
| TESTINST("dins", 0xfffffff31415927f, 0x2000ffffffddddff, 16, 16); |
| TESTINST("dins", 0xffffffffffff0008, 0x2000ffffffddddff, 8, 2); |
| TESTINST("dins", 0xffff0000ffffffff, 0x2000ffffffffffff, 16, 4); |
| TESTINST("dins", 0xff0000ffffffffff, 0xffff0000ffffffff, 8, 4); |
| TESTINST("dins", 0xfffffffff0000fff, 0, 0, 31); |
| |
| printf("--- DINSM ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 0 <= pos < 32 |
| 2 <= size <= 64 |
| 32 < pos+size <= 64 */ |
| TESTINST("dinsm", 0x0, 0x0, 0, 33); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 0, 33); |
| TESTINST("dinsm", 0x0, 0x98765432, 0, 33); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 0, 33); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 0, 33); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 33); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 0, 33); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 33); |
| TESTINST("dinsm", 0x98765432, 0x0, 0, 33); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 0, 33); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 0, 33); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 0, 33); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 0, 33); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 33); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 0, 33); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 33); |
| TESTINST("dinsm", 0x0, 0x0, 0, 37); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 0, 37); |
| TESTINST("dinsm", 0x0, 0x98765432, 0, 37); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 0, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 0, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 0, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 37); |
| TESTINST("dinsm", 0x98765432, 0x0, 0, 37); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 0, 37); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 0, 37); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 0, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 0, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 0, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 37); |
| TESTINST("dinsm", 0x0, 0x0, 0, 48); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 0, 48); |
| TESTINST("dinsm", 0x0, 0x98765432, 0, 48); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 0, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 0, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 0, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 48); |
| TESTINST("dinsm", 0x98765432, 0x0, 0, 48); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 0, 48); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 0, 48); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 0, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 0, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 0, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 48); |
| TESTINST("dinsm", 0x0, 0x0, 0, 64); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 0, 64); |
| TESTINST("dinsm", 0x0, 0x98765432, 0, 64); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 0, 64); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 0, 64); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 64); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 0, 64); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 64); |
| TESTINST("dinsm", 0x98765432, 0x0, 0, 64); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 0, 64); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 0, 64); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 0, 64); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 0, 64); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 64); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 0, 64); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 64); |
| |
| TESTINST("dinsm", 0x0, 0x0, 4, 29); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 4, 29); |
| TESTINST("dinsm", 0x0, 0x98765432, 4, 29); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 4, 29); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 4, 29); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 29); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 4, 29); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 29); |
| TESTINST("dinsm", 0x98765432, 0x0, 4, 29); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 4, 29); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 4, 29); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 4, 29); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 4, 29); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 29); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 4, 29); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 29); |
| TESTINST("dinsm", 0x0, 0x0, 4, 32); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 4, 32); |
| TESTINST("dinsm", 0x0, 0x98765432, 4, 32); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 4, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 4, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 4, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 32); |
| TESTINST("dinsm", 0x98765432, 0x0, 4, 32); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 4, 32); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 4, 32); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 4, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 4, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 4, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 32); |
| TESTINST("dinsm", 0x0, 0x0, 4, 37); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 4, 37); |
| TESTINST("dinsm", 0x0, 0x98765432, 4, 37); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 4, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 4, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 4, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 37); |
| TESTINST("dinsm", 0x98765432, 0x0, 4, 37); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 4, 37); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 4, 37); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 4, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 4, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 4, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 37); |
| TESTINST("dinsm", 0x0, 0x0, 4, 48); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 4, 48); |
| TESTINST("dinsm", 0x0, 0x98765432, 4, 48); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 4, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 4, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 4, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 48); |
| TESTINST("dinsm", 0x98765432, 0x0, 4, 48); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 4, 48); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 4, 48); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 4, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 4, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 4, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 48); |
| TESTINST("dinsm", 0x0, 0x0, 4, 60); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 4, 60); |
| TESTINST("dinsm", 0x0, 0x98765432, 4, 60); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 4, 60); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 4, 60); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 60); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 4, 60); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 60); |
| TESTINST("dinsm", 0x98765432, 0x0, 4, 60); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 4, 60); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 4, 60); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 4, 60); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 4, 60); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 60); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 4, 60); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 60); |
| |
| TESTINST("dinsm", 0x0, 0x0, 16, 17); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 16, 17); |
| TESTINST("dinsm", 0x0, 0x98765432, 16, 17); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 16, 17); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 16, 17); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 17); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 16, 17); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 17); |
| TESTINST("dinsm", 0x98765432, 0x0, 16, 17); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 16, 17); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 16, 17); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 16, 17); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 16, 17); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 17); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 16, 17); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 17); |
| TESTINST("dinsm", 0x0, 0x0, 16, 32); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 16, 32); |
| TESTINST("dinsm", 0x0, 0x98765432, 16, 32); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 16, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 16, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 16, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 32); |
| TESTINST("dinsm", 0x98765432, 0x0, 16, 32); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 16, 32); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 16, 32); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 16, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 16, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 16, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 32); |
| TESTINST("dinsm", 0x0, 0x0, 16, 37); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 16, 37); |
| TESTINST("dinsm", 0x0, 0x98765432, 16, 37); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 16, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 16, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 16, 37); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 37); |
| TESTINST("dinsm", 0x98765432, 0x0, 16, 37); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 16, 37); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 16, 37); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 16, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 16, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 16, 37); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 37); |
| TESTINST("dinsm", 0x0, 0x0, 16, 48); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 16, 48); |
| TESTINST("dinsm", 0x0, 0x98765432, 16, 48); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 16, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 16, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 16, 48); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 48); |
| TESTINST("dinsm", 0x98765432, 0x0, 16, 48); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 16, 48); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 16, 48); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 16, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 16, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 16, 48); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 48); |
| |
| TESTINST("dinsm", 0x0, 0x0, 31, 2); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 31, 2); |
| TESTINST("dinsm", 0x0, 0x98765432, 31, 2); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 31, 2); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 31, 2); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 2); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 31, 2); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 31, 2); |
| TESTINST("dinsm", 0x98765432, 0x0, 31, 2); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 31, 2); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 31, 2); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 31, 2); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 31, 2); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 31, 2); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 31, 2); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 31, 2); |
| TESTINST("dinsm", 0x0, 0x0, 31, 16); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 31, 16); |
| TESTINST("dinsm", 0x0, 0x98765432, 31, 16); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 31, 16); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 31, 16); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 16); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 31, 16); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 31, 16); |
| TESTINST("dinsm", 0x98765432, 0x0, 31, 16); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 31, 16); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 31, 16); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 31, 16); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 31, 16); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 31, 16); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 31, 16); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 31, 16); |
| TESTINST("dinsm", 0x0, 0x0, 31, 32); |
| TESTINST("dinsm", 0x0, 0xffffffffffffffff, 31, 32); |
| TESTINST("dinsm", 0x0, 0x98765432, 31, 32); |
| TESTINST("dinsm", 0x0, 0xffffffffff865421, 31, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x0, 31, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0x98765432, 31, 32); |
| TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 31, 32); |
| TESTINST("dinsm", 0x98765432, 0x0, 31, 32); |
| TESTINST("dinsm", 0x98765432, 0xffffffffffffffff, 31, 32); |
| TESTINST("dinsm", 0x98765432, 0x98765432, 31, 32); |
| TESTINST("dinsm", 0x98765432, 0xffffffffff865421, 31, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0x0, 31, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 31, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0x98765432, 31, 32); |
| TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 31, 32); |
| |
| TESTINST("dinsm", 0x2002ffffffffffff, 0xfffffffff0000fff, 4, 35); |
| TESTINST("dinsm", 0xffff0000ffffffff, 0xff0000ffffffffff, 8, 33); |
| TESTINST("dinsm", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 34); |
| TESTINST("dinsm", 0x2000ffffffddddff, 0xffffffffffff0008, 4, 46); |
| TESTINST("dinsm", 0x2000ffffffffeeee, 0xfffffff31415927f, 3, 56); |
| TESTINST("dinsm", 0x31415927ffffffff, 0x2000ffffffffffff, 0, 64); |
| TESTINST("dinsm", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 40); |
| TESTINST("dinsm", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 42); |
| TESTINST("dinsm", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7, 43); |
| TESTINST("dinsm", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5, 48); |
| TESTINST("dinsm", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 3, 52); |
| TESTINST("dinsm", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 1, 54); |
| TESTINST("dinsm", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 2, 54); |
| TESTINST("dinsm", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 2, 48); |
| TESTINST("dinsm", 0x2000ffffffffffff, 0x31415927ffffffff, 5, 53); |
| TESTINST("dinsm", 0xfffffff31415927f, 0x2000ffffffffeeee, 2, 60); |
| TESTINST("dinsm", 0xffffffffffff0008, 0x2000ffffffddddff, 3, 61); |
| TESTINST("dinsm", 0xffff0000ffffffff, 0x2000ffffffffffff, 1, 62); |
| TESTINST("dinsm", 0xff0000ffffffffff, 0, 8, 38); |
| TESTINST("dinsm", 0xfffffffff0000fff, 0, 16, 39); |
| |
| printf("--- DINSU ---\n"); |
| /* The values of pos and size must satisfy all of the following relations: |
| 32 <= pos < 64 |
| 1 <= size <= 32 |
| 32 < pos+size <= 64 */ |
| TESTINST("dinsu", 0x0, 0x0, 32, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 32, 1); |
| TESTINST("dinsu", 0x0, 0x98765432, 32, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 32, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 32, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 32, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 1); |
| TESTINST("dinsu", 0x98765432, 0x0, 32, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 32, 1); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 32, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 32, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 32, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 32, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 1); |
| TESTINST("dinsu", 0x0, 0x0, 32, 4); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 32, 4); |
| TESTINST("dinsu", 0x0, 0x98765432, 32, 4); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 32, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 32, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 32, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 4); |
| TESTINST("dinsu", 0x98765432, 0x0, 32, 4); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 32, 4); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 32, 4); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 32, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 32, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 32, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 4); |
| TESTINST("dinsu", 0x0, 0x0, 32, 16); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 32, 16); |
| TESTINST("dinsu", 0x0, 0x98765432, 32, 16); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 32, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 32, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 32, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 16); |
| TESTINST("dinsu", 0x98765432, 0x0, 32, 16); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 32, 16); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 32, 16); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 32, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 32, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 32, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 16); |
| TESTINST("dinsu", 0x0, 0x0, 32, 32); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 32, 32); |
| TESTINST("dinsu", 0x0, 0x98765432, 32, 32); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 32, 32); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 32, 32); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 32); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 32, 32); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 32); |
| TESTINST("dinsu", 0x98765432, 0x0, 32, 32); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 32, 32); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 32, 32); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 32, 32); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 32, 32); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 32); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 32, 32); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 32); |
| |
| TESTINST("dinsu", 0x0, 0x0, 36, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 36, 1); |
| TESTINST("dinsu", 0x0, 0x98765432, 36, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 36, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 36, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 36, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 1); |
| TESTINST("dinsu", 0x98765432, 0x0, 36, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 36, 1); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 36, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 36, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 36, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 36, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 1); |
| TESTINST("dinsu", 0x0, 0x0, 36, 4); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 36, 4); |
| TESTINST("dinsu", 0x0, 0x98765432, 36, 4); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 36, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 36, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 36, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 4); |
| TESTINST("dinsu", 0x98765432, 0x0, 36, 4); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 36, 4); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 36, 4); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 36, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 36, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 36, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 4); |
| TESTINST("dinsu", 0x0, 0x0, 36, 16); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 36, 16); |
| TESTINST("dinsu", 0x0, 0x98765432, 36, 16); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 36, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 36, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 36, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 16); |
| TESTINST("dinsu", 0x98765432, 0x0, 36, 16); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 36, 16); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 36, 16); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 36, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 36, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 36, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 16); |
| TESTINST("dinsu", 0x0, 0x0, 36, 28); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 36, 28); |
| TESTINST("dinsu", 0x0, 0x98765432, 36, 28); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 36, 28); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 36, 28); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 28); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 36, 28); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 28); |
| TESTINST("dinsu", 0x98765432, 0x0, 36, 28); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 36, 28); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 36, 28); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 36, 28); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 36, 28); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 28); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 36, 28); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 28); |
| |
| TESTINST("dinsu", 0x0, 0x0, 48, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 48, 1); |
| TESTINST("dinsu", 0x0, 0x98765432, 48, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 48, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 48, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 48, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 48, 1); |
| TESTINST("dinsu", 0x98765432, 0x0, 48, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 48, 1); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 48, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 48, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 48, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 48, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 48, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 48, 1); |
| TESTINST("dinsu", 0x0, 0x0, 48, 4); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 48, 4); |
| TESTINST("dinsu", 0x0, 0x98765432, 48, 4); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 48, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 48, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 48, 4); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 48, 4); |
| TESTINST("dinsu", 0x98765432, 0x0, 48, 4); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 48, 4); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 48, 4); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 48, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 48, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 48, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 48, 4); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 48, 4); |
| TESTINST("dinsu", 0x0, 0x0, 48, 16); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 48, 16); |
| TESTINST("dinsu", 0x0, 0x98765432, 48, 16); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 48, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 48, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 48, 16); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 48, 16); |
| TESTINST("dinsu", 0x98765432, 0x0, 48, 16); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 48, 16); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 48, 16); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 48, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 48, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 48, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 48, 16); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 48, 16); |
| |
| TESTINST("dinsu", 0x0, 0x0, 63, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffffffffff, 63, 1); |
| TESTINST("dinsu", 0x0, 0x98765432, 63, 1); |
| TESTINST("dinsu", 0x0, 0xffffffffff865421, 63, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x0, 63, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 63, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0x98765432, 63, 1); |
| TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 63, 1); |
| TESTINST("dinsu", 0x98765432, 0x0, 63, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffffffffff, 63, 1); |
| TESTINST("dinsu", 0x98765432, 0x98765432, 63, 1); |
| TESTINST("dinsu", 0x98765432, 0xffffffffff865421, 63, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x0, 63, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 63, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0x98765432, 63, 1); |
| TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 63, 1); |
| |
| TESTINST("dinsu", 0x2002ffffffffffff, 0xfffffffff0000fff, 33, 4); |
| TESTINST("dinsu", 0xffff0000ffffffff, 0xff0000ffffffffff, 60, 4); |
| TESTINST("dinsu", 0x2000ffffffffffff, 0xffff0000ffffffff, 54, 4); |
| TESTINST("dinsu", 0x2000ffffffddddff, 0xffffffffffff0008, 56, 2); |
| TESTINST("dinsu", 0x2000ffffffffeeee, 0xfffffff31415927f, 40, 4); |
| TESTINST("dinsu", 0x31415927ffffffff, 0x2000ffffffffffff, 51, 2); |
| TESTINST("dinsu", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 48, 4); |
| TESTINST("dinsu", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 38, 4); |
| TESTINST("dinsu", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 35, 4); |
| TESTINST("dinsu", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 36, 4); |
| TESTINST("dinsu", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 45, 1); |
| TESTINST("dinsu", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 46, 4); |
| TESTINST("dinsu", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 52, 4); |
| TESTINST("dinsu", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 40, 8); |
| TESTINST("dinsu", 0x2000ffffffffffff, 0x31415927ffffffff, 39, 4); |
| TESTINST("dinsu", 0xfffffff31415927f, 0x31415927ffffffff, 60, 4); |
| TESTINST("dinsu", 0xffffffffffff0008, 0x2000ffffffddddff, 63, 1); |
| TESTINST("dinsu", 0xffff0000ffffffff, 0x2000ffffffffffff, 50, 4); |
| TESTINST("dinsu", 0xff0000ffffffffff, 0, 36, 4); |
| TESTINST("dinsu", 0xfffffffff0000fff, 0, 46, 4); |
| #else |
| printf("This test is testing mips64r2 instructions.\n"); |
| #endif |
| |
| return 0; |
| } |