mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
30967b5c23
This is not in the list of valid inputs for the encoding. When spilling, copies from exec can be folded directly into the spill instruction which results in broken stores. This only fixes the operand constraints, more codegen work is required to avoid emitting the invalid spills. This sort of breaks the dbg.value test. Because the register class of the s_load_dwordx2 changes, there is a copy to SReg_64, and the copy is the operand of dbg_value. The copy is later dead, and removed from the dbg_value. llvm-svn: 288191
56 lines
1.6 KiB
ArmAsm
56 lines
1.6 KiB
ArmAsm
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI %s
|
|
|
|
s_memtime exec
|
|
// NOVI: :11: error: invalid operand for instruction
|
|
|
|
s_memrealtime exec
|
|
// NOVI: :15: error: invalid operand for instruction
|
|
|
|
s_store_dword m0, s[2:3], 0x0
|
|
// NOVI: :15: error: invalid operand for instruction
|
|
|
|
s_store_dword exec_lo, s[2:3], 0x0
|
|
// NOVI: :15: error: invalid operand for instruction
|
|
|
|
s_store_dword exec_hi, s[2:3], 0x0
|
|
// NOVI: :15: error: invalid operand for instruction
|
|
|
|
s_store_dwordx2 exec, s[2:3], 0x0
|
|
// NOVI: :17: error: invalid operand for instruction
|
|
|
|
s_buffer_store_dword m0, s[0:3], 0x0
|
|
// NOVI: :22: error: invalid operand for instruction
|
|
|
|
s_buffer_store_dword exec_lo, s[0:3], 0x0
|
|
// NOVI: :22: error: invalid operand for instruction
|
|
|
|
s_buffer_store_dword exec_hi, s[0:3], 0x0
|
|
// NOVI: :22: error: invalid operand for instruction
|
|
|
|
s_buffer_store_dwordx2 exec, s[0:3], 0x0
|
|
// NOVI: :24: error: invalid operand for instruction
|
|
|
|
s_load_dword m0, s[0:1], s4
|
|
// NOVI: :14: error: invalid operand for instruction
|
|
|
|
s_load_dword exec_lo, s[0:1], s4
|
|
// NOVI: :14: error: invalid operand for instruction
|
|
|
|
s_load_dword exec_hi, s[0:1], s4
|
|
// NOVI: :14: error: invalid operand for instruction
|
|
|
|
s_load_dwordx2 exec, s[0:1], s4
|
|
// NOVI: :16: error: invalid operand for instruction
|
|
|
|
s_buffer_load_dword m0, s[0:3], s4
|
|
// NOVI: :21: error: invalid operand for instruction
|
|
|
|
s_buffer_load_dword exec_lo, s[0:3], s4
|
|
// NOVI: :21: error: invalid operand for instruction
|
|
|
|
s_buffer_load_dword exec_hi, s[0:3], s4
|
|
// NOVI: :21: error: invalid operand for instruction
|
|
|
|
s_buffer_load_dwordx2 exec, s[0:3], s4
|
|
// NOVI: :23: error: invalid operand for instruction
|