| # Blackfin testcase for ashift |
| # mach: bfin |
| |
| .include "testutils.inc" |
| |
| start |
| |
| R0 = 5; |
| R0 += -1; |
| R1 = 4; |
| CC = R0 == R1; |
| if CC jump 1f; |
| fail |
| 1: |
| |
| imm32 r2, 0xff901234 |
| r4=8; |
| i2=r2; |
| m2 = 4; |
| a0 = 0; |
| r1.l = (a0 += r4.l *r4.l) (IS) || I2 += m2 || nop; |
| r0 = i2; |
| imm32 r1, 0xff901238; |
| CC = r1 == r0; |
| if CC jump 2f; |
| fail |
| 2: |
| |
| A0 = 0; |
| A1 = 0; |
| R0 = 0; |
| R1 = 0; |
| R2 = 0; |
| R3 = 0; |
| R4 = 0; |
| R5 = 0; |
| R2.H = 0xf12e; |
| R2.L = 0xbeaa; |
| R3.L = 0x00ff; |
| A1.w = R2; |
| A1.x = R3; |
| R0.H = 0xd136; |
| R0.L = 0x459d; |
| R1.H = 0xabd6; |
| R1.L = 0x9ec7; |
| |
| R5 = A1 , A0 = R1.L * R0.L (FU); |
| |
| R0 = -1 (X); |
| CC = r5 == r0; |
| if CC jump 3f; |
| fail |
| 3: |
| |
| R0.L = 0x7bb8; |
| R0.H = 0x8d5e; |
| R4.L = 0x7e1c; |
| R4.H = 0x9e22; |
| R6.H = R4.H * R0.L (M), R6.L = R4.L * R0.H (ISS2); |
| |
| imm32 r0, 0x80008000 |
| CC = r6 == r0; |
| if CC jump 4f; |
| fail |
| 4: |
| pass |