//Original:/testcases/core/c_alu2op_divq/c_alu2op_divq.dsp // Spec Reference: alu2op divide q # mach: bfin .include "testutils.inc" start imm32 r0, 0x00000000; imm32 r1, 0x12345678; imm32 r2, 0x23456789; imm32 r3, 0x3456789a; imm32 r4, 0x856789ab; imm32 r5, 0x96789abc; imm32 r6, 0xa789abcd; imm32 r7, 0xb89abcde; R0.L = 1; DIVQ ( R1 , R0 ); DIVQ ( R2 , R0 ); DIVQ ( R3 , R0 ); DIVQ ( R4 , R0 ); DIVQ ( R5 , R0 ); DIVQ ( R6 , R0 ); DIVQ ( R7 , R0 ); DIVQ ( R4 , R0 ); DIVQ ( R0 , R0 ); CHECKREG r1, 0x2466ACF1; CHECKREG r2, 0x4688CF13; CHECKREG r3, 0x68AAF135; CHECKREG r4, 0x159C26AD; CHECKREG r5, 0x2CF33578; CHECKREG r6, 0x4F15579A; CHECKREG r7, 0x713779BC; CHECKREG r0, 0xFFFE0002; imm32 r0, 0x01230002; imm32 r1, 0x00000000; imm32 r2, 0x93456789; imm32 r3, 0xa456789a; imm32 r4, 0xb56789ab; imm32 r5, 0xc6789abc; imm32 r6, 0xd789abcd; imm32 r7, 0xe89abcde; R1.L = -1; DIVQ ( R0 , R1 ); DIVQ ( R2 , R1 ); DIVQ ( R3 , R1 ); DIVQ ( R4 , R1 ); DIVQ ( R5 , R1 ); DIVQ ( R6 , R1 ); DIVQ ( R7 , R1 ); DIVQ ( R1 , R1 ); CHECKREG r0, 0x02440004; CHECKREG r1, 0x0003FFFE; CHECKREG r2, 0x2688CF13; CHECKREG r3, 0x48AEF135; CHECKREG r4, 0x6AD11357; CHECKREG r5, 0x8CF33579; CHECKREG r6, 0xAF15579B; CHECKREG r7, 0xD13779BD; imm32 r0, 0x51230002; imm32 r1, 0x12345678; imm32 r2, 0x00000000; imm32 r3, 0x3456789a; imm32 r4, 0x956789ab; imm32 r5, 0x86789abc; imm32 r6, 0x6789abcd; imm32 r7, 0x789abcde; R2.L = 31; DIVQ ( R0 , R2 ); DIVQ ( R1 , R2 ); DIVQ ( R3 , R2 ); DIVQ ( R4 , R2 ); DIVQ ( R5 , R2 ); DIVQ ( R6 , R2 ); DIVQ ( R7 , R2 ); DIVQ ( R2 , R2 ); CHECKREG r0, 0xA2840005; CHECKREG r1, 0x242AACF1; CHECKREG r2, 0xFFC2003E; CHECKREG r3, 0x686EF135; CHECKREG r4, 0x2A911356; CHECKREG r5, 0x0D2F3578; CHECKREG r6, 0xCF51579B; CHECKREG r7, 0xF0F779BD; imm32 r0, 0x01230002; imm32 r1, 0x82345678; imm32 r2, 0x93456789; imm32 r3, 0x00000000; imm32 r4, 0xb56789ab; imm32 r5, 0xc6789abc; imm32 r6, 0xd789abcd; imm32 r7, 0xe89abcde; R3.L = -31; DIVQ ( R0 , R3 ); DIVQ ( R1 , R3 ); DIVQ ( R2 , R3 ); DIVQ ( R4 , R3 ); DIVQ ( R5 , R3 ); DIVQ ( R6 , R3 ); DIVQ ( R7 , R3 ); DIVQ ( R3 , R3 ); CHECKREG r0, 0x02080004; CHECKREG r1, 0x042AACF1; CHECKREG r2, 0x26C8CF13; CHECKREG r3, 0x003FFFC2; CHECKREG r4, 0x6B0D1357; CHECKREG r5, 0x8D2F3579; CHECKREG r6, 0xAF51579B; CHECKREG r7, 0xD17379BD; imm32 r0, 0x00000001; imm32 r1, 0x12345678; imm32 r2, 0x23456789; imm32 r3, 0x3456789a; imm32 r4, 0x00000000; imm32 r5, 0x96789abc; imm32 r6, 0xa789abcd; imm32 r7, 0xb89abcde; R4.L = 15; DIVQ ( R1 , R4 ); DIVQ ( R2 , R4 ); DIVQ ( R3 , R4 ); DIVQ ( R0 , R4 ); DIVQ ( R5 , R4 ); DIVQ ( R6 , R4 ); DIVQ ( R7 , R4 ); DIVQ ( R4 , R4 ); CHECKREG r0, 0xFFE20002; CHECKREG r1, 0x2486ACF1; CHECKREG r2, 0x466CCF13; CHECKREG r3, 0x688EF135; CHECKREG r4, 0x001E001F; CHECKREG r5, 0x2D0F3578; CHECKREG r6, 0x4F31579A; CHECKREG r7, 0x715379BC; imm32 r0, 0x01230002; imm32 r1, 0x00000000; imm32 r2, 0x93456789; imm32 r3, 0xa456789a; imm32 r4, 0xb56789ab; imm32 r5, 0x00000000; imm32 r6, 0xd789abcd; imm32 r7, 0xe89abcde; R5.L = -15; DIVQ ( R0 , R5 ); DIVQ ( R1 , R5 ); DIVQ ( R2 , R5 ); DIVQ ( R3 , R5 ); DIVQ ( R4 , R5 ); DIVQ ( R6 , R5 ); DIVQ ( R7 , R5 ); DIVQ ( R5 , R5 ); CHECKREG r0, 0x02640004; CHECKREG r1, 0xFFE20001; CHECKREG r2, 0x26A8CF13; CHECKREG r3, 0x48CAF135; CHECKREG r4, 0x6AED1357; CHECKREG r5, 0x001FFFE2; CHECKREG r6, 0xAF31579B; CHECKREG r7, 0xD15379BD; imm32 r0, 0x51230002; imm32 r1, 0x12345678; imm32 r2, 0xb1256790; imm32 r3, 0x3456789a; imm32 r4, 0x956789ab; imm32 r5, 0x86789abc; imm32 r6, 0x00000000; imm32 r7, 0x789abcde; R6.L = 24; DIVQ ( R0 , R6 ); DIVQ ( R1 , R6 ); DIVQ ( R2 , R6 ); DIVQ ( R3 , R6 ); DIVQ ( R4 , R6 ); DIVQ ( R5 , R6 ); DIVQ ( R7 , R6 ); DIVQ ( R6 , R6 ); CHECKREG r0, 0xA2760005; CHECKREG r1, 0x2438ACF1; CHECKREG r2, 0x621ACF20; CHECKREG r3, 0x68DCF135; CHECKREG r4, 0x2A9F1356; CHECKREG r5, 0x0D213578; CHECKREG r6, 0xFFD00030; CHECKREG r7, 0xF16579BD; imm32 r0, 0x01230002; imm32 r1, 0x82345678; imm32 r2, 0x93456789; imm32 r3, 0xa456789a; imm32 r4, 0xb56789ab; imm32 r5, 0xc6789abc; imm32 r6, 0xd789abcd; imm32 r7, 0x00000000; R7.L = -24; DIVQ ( R0 , R7 ); DIVQ ( R1 , R7 ); DIVQ ( R2 , R7 ); DIVQ ( R3 , R7 ); DIVQ ( R4 , R7 ); DIVQ ( R5 , R7 ); DIVQ ( R6 , R7 ); DIVQ ( R7 , R7 ); CHECKREG r0, 0x02160004; CHECKREG r1, 0x0438ACF1; CHECKREG r2, 0x26BACF13; CHECKREG r3, 0x48DCF135; CHECKREG r4, 0x6AFF1357; CHECKREG r5, 0x8D213579; CHECKREG r6, 0xAF43579B; CHECKREG r7, 0x0031FFD0; pass