llvm-project/llvm/test/MC/ARM/invalid-fp-armv8.s

94 lines
2.9 KiB
ArmAsm

@ RUN: not llvm-mc -triple armv8 -show-encoding -mattr=-neon < %s 2>&1 | FileCheck %s --check-prefix=V8
@ VCVT{B,T}
vcvtt.f64.f16 d3, s1
@ V7-NOT: vcvtt.f64.f16 d3, s1 @ encoding: [0xe0,0x3b,0xb2,0xee]
vcvtt.f16.f64 s5, d12
@ V7-NOT: vcvtt.f16.f64 s5, d12 @ encoding: [0xcc,0x2b,0xf3,0xee]
vsel.f32 s3, s4, s6
@ V8: error: invalid instruction
vselne.f32 s3, s4, s6
@ V8: error: invalid instruction
vselmi.f32 s3, s4, s6
@ V8: error: invalid instruction
vselpl.f32 s3, s4, s6
@ V8: error: invalid instruction
vselvc.f32 s3, s4, s6
@ V8: error: invalid instruction
vselcs.f32 s3, s4, s6
@ V8: error: invalid instruction
vselcc.f32 s3, s4, s6
@ V8: error: invalid instruction
vselhs.f32 s3, s4, s6
@ V8: error: invalid instruction
vsello.f32 s3, s4, s6
@ V8: error: invalid instruction
vselhi.f32 s3, s4, s6
@ V8: error: invalid instruction
vsells.f32 s3, s4, s6
@ V8: error: invalid instruction
vsellt.f32 s3, s4, s6
@ V8: error: invalid instruction
vselle.f32 s3, s4, s6
@ V8: error: invalid instruction
vseleq.f32 s0, d2, d1
@ V8: error: invalid instruction
vselgt.f64 s3, s2, s1
@ V8: error: invalid operand for instruction
vselgt.f32 s0, q3, q1
@ V8: error: invalid instruction
vselgt.f64 q0, s3, q1
@ V8: error: invalid instruction
vmaxnm.f32 s0, d2, d1
@ V8: error: invalid instruction
vminnm.f64 s3, s2, s1
@ V8: error: invalid operand for instruction
vmaxnm.f32 s0, q3, q1
@ V8: error: invalid instruction
vmaxnm.f64 q0, s3, q1
@ V8: error: invalid instruction
vmaxnmgt.f64 q0, s3, q1
@ CHECK: error: instruction 'vmaxnm' is not predicable, but condition code specified
vcvta.s32.f64 d3, s2
@ V8: error: invalid instruction
vcvtp.s32.f32 d3, s2
@ V8: error: operand must be a register in range [s0, s31]
vcvtn.u32.f64 d3, s2
@ V8: error: invalid instruction
vcvtm.u32.f32 d3, s2
@ V8: error: operand must be a register in range [s0, s31]
vcvtnge.u32.f64 d3, s2
@ V8: error: instruction 'vcvtn' is not predicable, but condition code specified
vcvtbgt.f64.f16 q0, d3
@ V8: error: invalid instruction
vcvttlt.f64.f16 s0, s3
@ V8: error: invalid instruction, any one of the following would fix this:
@ V8: note: operand must be a register in range [d0, d31]
@ V8: note: invalid operand for instruction
vcvttvs.f16.f64 s0, s3
@ V8: error: invalid instruction, any one of the following would fix this:
@ V8: note: operand must be a register in range [d0, d31]
@ V8: note: invalid operand for instruction
vcvtthi.f16.f64 q0, d3
@ V8: error: operand must be a register in range [s0, s31]
vrintrlo.f32.f32 d3, q0
@ V8: error: invalid instruction
vrintxcs.f32.f32 d3, d0
@ V8: error: invalid instruction
vrinta.f64.f64 s3, q0
@ V8: error: invalid instruction
vrintn.f32.f32 d3, d0
@ V8: error: instruction requires: NEON
vrintp.f32 q3, q0
@ V8: error: instruction requires: NEON
vrintmlt.f32 q3, q0
@ V8: error: instruction 'vrintm' is not predicable, but condition code specified