xref: /aosp_15_r20/external/llvm/test/MC/ARM/fp-const-errors.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc -mcpu=cortex-a8 -triple armv7-none-linux-gnueabi < %s 2>&1 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@ Test for floating point constants that are out of the 8-bit encoded value range
4*9880d681SAndroid Build Coastguard Workervmov.f32 s2, #32.0
5*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid operand for instruction
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workervmov.f64 d2, #32.0
8*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid operand for instruction
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker@ Test that vmov.f instructions do not accept an 8-bit encoded float as an operand
11*9880d681SAndroid Build Coastguard Workervmov.f32 s1, #0x70
12*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid floating point immediate
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workervmov.f64 d2, #0x70
15*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid floating point immediate
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Worker@ Test that fconst instructions do not accept a float constant as an operand
18*9880d681SAndroid Build Coastguard Workerfconsts s1, #1.0
19*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid floating point immediate
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerfconstd d2, #1.0
22*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid floating point immediate
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Workervmov.i64 d0, 0x8000000000000000
25*9880d681SAndroid Build Coastguard Worker@ CHECK: error: invalid operand for instruction
26