mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
54 lines
969 B
ArmAsm
54 lines
969 B
ArmAsm
|
# Blackfin testcase for parallel VIT_MAX (taken from PRM)
|
||
|
# mach: bfin
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
|
||
|
start
|
||
|
|
||
|
loadsym P0, scratch
|
||
|
|
||
|
# Do parallel VIT_MAX's with stores to same reg; don't really
|
||
|
# care what the result is of VIT_MAX as long as it doesn't
|
||
|
# clobber the memory store.
|
||
|
|
||
|
imm32 R1, 0xFFFF0000
|
||
|
imm32 R2, 0x0000FFFF
|
||
|
imm32 R0, 0xFACE
|
||
|
R0 = VIT_MAX (R1, R2) (ASL) || W[P0] = R0.L;
|
||
|
imm32 R0, 0xFACE
|
||
|
R4 = W[P0];
|
||
|
CC = R4 == R0;
|
||
|
IF !CC JUMP 1f;
|
||
|
|
||
|
imm32 R5, 0xFEEDBEEF
|
||
|
imm32 R4, 0xDEAF0000
|
||
|
imm32 R6, 0xFACE
|
||
|
R6 = VIT_MAX (R5, R4) (ASR) || W[P0] = R6.L;
|
||
|
imm32 R6, 0xFACE
|
||
|
R4 = W[P0];
|
||
|
CC = R4 == R6;
|
||
|
IF !CC JUMP 1f;
|
||
|
|
||
|
imm32 R3, 0xFFFF0000
|
||
|
imm32 R1, 0xFACE
|
||
|
R1.L = VIT_MAX (R3) (ASL) || W[P0] = R1.L;
|
||
|
imm32 R1, 0xFACE
|
||
|
R4 = W[P0];
|
||
|
CC = R4 == R1;
|
||
|
IF !CC JUMP 1f;
|
||
|
|
||
|
imm32 R2, 0x1234FADE
|
||
|
imm32 R5, 0xFACE
|
||
|
R5.L = VIT_MAX (R2) (ASR) || W[P0] = R5.L;
|
||
|
imm32 R5, 0xFACE
|
||
|
R4 = W[P0];
|
||
|
CC = R4 == R5;
|
||
|
IF !CC JUMP 1f;
|
||
|
|
||
|
pass
|
||
|
1: fail
|
||
|
|
||
|
.data
|
||
|
scratch:
|
||
|
.dw 0xffff
|