xref: /aosp_15_r20/external/llvm/test/MC/ARM/vfp4.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc < %s -triple armv7-unknown-unknown -show-encoding -mattr=+neon,+vfp4   | FileCheck %s --check-prefix=ARM
2*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc < %s -triple thumbv7-unknown-unknown -show-encoding -mattr=+neon,+vfp4 | FileCheck %s --check-prefix=THUMB
3*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc < %s -triple thumbv7-unknown-unknown -show-encoding -mcpu=cortex-m4 > %t 2> %t2
4*9880d681SAndroid Build Coastguard Worker@ RUN:     FileCheck %s < %t --check-prefix=THUMB_V7EM
5*9880d681SAndroid Build Coastguard Worker@ RUN:     FileCheck %s < %t2 --check-prefix=THUMB_V7EM-ERRORS
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker@ ARM: vfma.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0xe2,0xee]
8*9880d681SAndroid Build Coastguard Worker@ THUMB: vfma.f64 d16, d18, d17 @ encoding: [0xe2,0xee,0xa1,0x0b]
9*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: invalid operand for instruction
10*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfma.f64 d16, d18, d17
11*9880d681SAndroid Build Coastguard Workervfma.f64 d16, d18, d17
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Worker@ ARM: vfma.f32 s2, s4, s0 @ encoding: [0x00,0x1a,0xa2,0xee]
14*9880d681SAndroid Build Coastguard Worker@ THUMB: vfma.f32 s2, s4, s0 @ encoding: [0xa2,0xee,0x00,0x1a]
15*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM: vfma.f32 s2, s4, s0 @ encoding: [0xa2,0xee,0x00,0x1a]
16*9880d681SAndroid Build Coastguard Workervfma.f32 s2, s4, s0
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker@ ARM: vfma.f32 d16, d18, d17 @ encoding: [0xb1,0x0c,0x42,0xf2]
19*9880d681SAndroid Build Coastguard Worker@ THUMB: vfma.f32 d16, d18, d17 @ encoding: [0x42,0xef,0xb1,0x0c]
20*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: invalid operand for instruction
21*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfma.f32 d16, d18, d17
22*9880d681SAndroid Build Coastguard Workervfma.f32 d16, d18, d17
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker@ ARM: vfma.f32 q2, q4, q0 @ encoding: [0x50,0x4c,0x08,0xf2]
25*9880d681SAndroid Build Coastguard Worker@ THUMB: vfma.f32	q2, q4, q0 @ encoding: [0x08,0xef,0x50,0x4c]
26*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: instruction requires: NEON
27*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfma.f32 q2, q4, q0
28*9880d681SAndroid Build Coastguard Workervfma.f32 q2, q4, q0
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker@ ARM: vfnma.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0xd2,0xee]
31*9880d681SAndroid Build Coastguard Worker@ THUMB: vfnma.f64 d16, d18, d17 @ encoding: [0xd2,0xee,0xe1,0x0b]
32*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: invalid operand for instruction
33*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfnma.f64 d16, d18, d17
34*9880d681SAndroid Build Coastguard Workervfnma.f64 d16, d18, d17
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker@ ARM: vfnma.f32 s2, s4, s0 @ encoding: [0x40,0x1a,0x92,0xee]
37*9880d681SAndroid Build Coastguard Worker@ THUMB: vfnma.f32 s2, s4, s0 @ encoding: [0x92,0xee,0x40,0x1a]
38*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM: vfnma.f32 s2, s4, s0 @ encoding: [0x92,0xee,0x40,0x1a]
39*9880d681SAndroid Build Coastguard Workervfnma.f32 s2, s4, s0
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker@ ARM: vfms.f64 d16, d18, d17 @ encoding: [0xe1,0x0b,0xe2,0xee]
42*9880d681SAndroid Build Coastguard Worker@ THUMB: vfms.f64 d16, d18, d17 @ encoding: [0xe2,0xee,0xe1,0x0b]
43*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: invalid operand for instruction
44*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfms.f64 d16, d18, d17
45*9880d681SAndroid Build Coastguard Workervfms.f64 d16, d18, d17
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker@ ARM: vfms.f32 s2, s4, s0 @ encoding: [0x40,0x1a,0xa2,0xee]
48*9880d681SAndroid Build Coastguard Worker@ THUMB: vfms.f32 s2, s4, s0 @ encoding: [0xa2,0xee,0x40,0x1a]
49*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM: vfms.f32 s2, s4, s0 @ encoding: [0xa2,0xee,0x40,0x1a]
50*9880d681SAndroid Build Coastguard Workervfms.f32 s2, s4, s0
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker@ ARM: vfms.f32 d16, d18, d17 @ encoding: [0xb1,0x0c,0x62,0xf2]
53*9880d681SAndroid Build Coastguard Worker@ THUMB: vfms.f32 d16, d18, d17 @ encoding: [0x62,0xef,0xb1,0x0c]
54*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: invalid operand for instruction
55*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfms.f32 d16, d18, d17
56*9880d681SAndroid Build Coastguard Workervfms.f32 d16, d18, d17
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker@ ARM: vfms.f32 q2, q4, q0 @ encoding: [0x50,0x4c,0x28,0xf2]
59*9880d681SAndroid Build Coastguard Worker@ THUMB: vfms.f32	q2, q4, q0 @ encoding: [0x28,0xef,0x50,0x4c]
60*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: instruction requires: NEON
61*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfms.f32 q2, q4, q0
62*9880d681SAndroid Build Coastguard Workervfms.f32 q2, q4, q0
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker@ ARM: vfnms.f64 d16, d18, d17 @ encoding: [0xa1,0x0b,0xd2,0xee]
65*9880d681SAndroid Build Coastguard Worker@ THUMB: vfnms.f64 d16, d18, d17 @ encoding: [0xd2,0xee,0xa1,0x0b]
66*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS: error: invalid operand for instruction
67*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM-ERRORS-NEXT: vfnms.f64 d16, d18, d17
68*9880d681SAndroid Build Coastguard Workervfnms.f64 d16, d18, d17
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Worker@ ARM: vfnms.f32 s2, s4, s0 @ encoding: [0x00,0x1a,0x92,0xee]
71*9880d681SAndroid Build Coastguard Worker@ THUMB: vfnms.f32 s2, s4, s0 @ encoding: [0x92,0xee,0x00,0x1a]
72*9880d681SAndroid Build Coastguard Worker@ THUMB_V7EM: vfnms.f32 s2, s4, s0 @ encoding: [0x92,0xee,0x00,0x1a]
73*9880d681SAndroid Build Coastguard Workervfnms.f32 s2, s4, s0
74