mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-23 04:52:54 +02:00
f11562aa0d
Summary: Currently the check is incorrect and the following invalid instruction is accepted and incorrectly assembled: vmov.i32 d2, #0x00a500a6 This patch fixes the issue. Reviewers: olista01, rengolin Reviewed By: rengolin Subscribers: SjoerdMeijer, javed.absar, rogfer01, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D44460 llvm-svn: 327704
57 lines
2.7 KiB
ArmAsm
57 lines
2.7 KiB
ArmAsm
@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s
|
|
.text
|
|
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmov.i32 d2, #0xffffffab
|
|
@ CHECK: note: operand must be a register in range [d0, d31]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmov.i32 q2, #0xffffffab
|
|
@ CHECK: note: operand must be a register in range [q0, q15]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmov.i32 d2, #0x00a500a6
|
|
@ CHECK: note: operand must be a register in range [d0, d31]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmov.i16 q2, #0xffab
|
|
@ CHECK: note: operand must be a register in range [q0, q15]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmov.i16 q2, #0xffab
|
|
@ CHECK: note: operand must be a register in range [q0, q15]
|
|
@ CHECK: note: invalid operand for instruction
|
|
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmvn.i32 d2, #0xffffffab
|
|
@ CHECK: note: operand must be a register in range [d0, d31]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmvn.i32 q2, #0xffffffab
|
|
@ CHECK: note: operand must be a register in range [q0, q15]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmvn.i32 d2, #0x00a500a6
|
|
@ CHECK: note: operand must be a register in range [d0, d31]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmvn.i16 q2, #0xffab
|
|
@ CHECK: note: operand must be a register in range [q0, q15]
|
|
@ CHECK: note: invalid operand for instruction
|
|
@ CHECK: error: invalid instruction, any one of the following would fix this:
|
|
@ CHECK-NEXT: vmvn.i16 q2, #0xffab
|
|
@ CHECK: note: operand must be a register in range [q0, q15]
|
|
@ CHECK: note: invalid operand for instruction
|
|
|
|
vmov.i32 d2, #0xffffffab
|
|
vmov.i32 q2, #0xffffffab
|
|
vmov.i32 d2, #0x00a500a6
|
|
vmov.i16 q2, #0xffab
|
|
vmov.i16 q2, #0xffab
|
|
|
|
vmvn.i32 d2, #0xffffffab
|
|
vmvn.i32 q2, #0xffffffab
|
|
vmvn.i32 d2, #0x00a500a6
|
|
vmvn.i16 q2, #0xffab
|
|
vmvn.i16 q2, #0xffab
|