Tom Stellard | 70f13db | 2013-10-10 17:11:46 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=r600 -mcpu=verde -verify-machineinstrs | FileCheck %s |
Tom Stellard | edbf1eb | 2013-04-05 23:31:20 +0000 | [diff] [blame] | 2 | |
Tom Stellard | edbf1eb | 2013-04-05 23:31:20 +0000 | [diff] [blame] | 3 | ; Use a 64-bit value with lo bits that can be represented as an inline constant |
| 4 | ; CHECK: @i64_imm_inline_lo |
Matt Arsenault | 72b31ee | 2013-11-12 02:35:51 +0000 | [diff] [blame] | 5 | ; CHECK: S_MOV_B32 [[LO:s[0-9]+]], 5 |
| 6 | ; CHECK: V_MOV_B32_e32 v[[LO_VGPR:[0-9]+]], [[LO]] |
| 7 | ; CHECK: BUFFER_STORE_DWORDX2 v{{\[}}[[LO_VGPR]]: |
Tom Stellard | edbf1eb | 2013-04-05 23:31:20 +0000 | [diff] [blame] | 8 | define void @i64_imm_inline_lo(i64 addrspace(1) *%out) { |
| 9 | entry: |
| 10 | store i64 1311768464867721221, i64 addrspace(1) *%out ; 0x1234567800000005 |
| 11 | ret void |
| 12 | } |
| 13 | |
| 14 | ; Use a 64-bit value with hi bits that can be represented as an inline constant |
| 15 | ; CHECK: @i64_imm_inline_hi |
Matt Arsenault | 72b31ee | 2013-11-12 02:35:51 +0000 | [diff] [blame] | 16 | ; CHECK: S_MOV_B32 [[HI:s[0-9]+]], 5 |
| 17 | ; CHECK: V_MOV_B32_e32 v[[HI_VGPR:[0-9]+]], [[HI]] |
| 18 | ; CHECK: BUFFER_STORE_DWORDX2 v{{\[[0-9]+:}}[[HI_VGPR]] |
Tom Stellard | edbf1eb | 2013-04-05 23:31:20 +0000 | [diff] [blame] | 19 | define void @i64_imm_inline_hi(i64 addrspace(1) *%out) { |
| 20 | entry: |
| 21 | store i64 21780256376, i64 addrspace(1) *%out ; 0x0000000512345678 |
| 22 | ret void |
| 23 | } |