From abd271b4e8cbe6c1ba204ab58a74e086b47eb73d Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 5 Feb 2015 06:05:13 +0000 Subject: R600/SI: Fix i64 truncate to i1 llvm-svn: 228273 --- llvm/lib/Target/R600/SIInstructions.td | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'llvm/lib/Target') diff --git a/llvm/lib/Target/R600/SIInstructions.td b/llvm/lib/Target/R600/SIInstructions.td index 188c2cdae19..75764a430c4 100644 --- a/llvm/lib/Target/R600/SIInstructions.td +++ b/llvm/lib/Target/R600/SIInstructions.td @@ -3230,6 +3230,12 @@ def : Pat < (V_CMP_EQ_I32_e64 (V_AND_B32_e64 (i32 1), $a), 1) >; +def : Pat < + (i1 (trunc i64:$a)), + (V_CMP_EQ_I32_e64 (V_AND_B32_e64 (i32 1), + (EXTRACT_SUBREG $a, sub0)), 1) +>; + def : Pat < (i32 (bswap i32:$a)), (V_BFI_B32 (S_MOV_B32 0x00ff00ff), -- cgit v1.2.3