Tom Stellard | 0ec134f | 2014-02-04 17:18:40 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=r600 -mcpu=SI -verify-machineinstrs | FileCheck %s |
| 2 | |
| 3 | ; CHECK-LABEL: @select0 |
Tom Stellard | 7ea3d6d | 2014-03-31 14:01:55 +0000 | [diff] [blame] | 4 | ; i64 select should be split into two i32 selects, and we shouldn't need |
| 5 | ; to use a shfit to extract the hi dword of the input. |
| 6 | ; CHECK-NOT: S_LSHR_B64 |
Tom Stellard | 0ec134f | 2014-02-04 17:18:40 +0000 | [diff] [blame] | 7 | ; CHECK: V_CNDMASK |
| 8 | ; CHECK: V_CNDMASK |
| 9 | define void @select0(i64 addrspace(1)* %out, i32 %cond, i64 %in) { |
| 10 | entry: |
| 11 | %0 = icmp ugt i32 %cond, 5 |
| 12 | %1 = select i1 %0, i64 0, i64 %in |
| 13 | store i64 %1, i64 addrspace(1)* %out |
| 14 | ret void |
| 15 | } |