[llvm] r276819 - AMDGPU: Use implicit_def for selecting anyext

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 16:06:33 PDT 2016


Author: arsenm
Date: Tue Jul 26 18:06:33 2016
New Revision: 276819

URL: http://llvm.org/viewvc/llvm-project?rev=276819&view=rev
Log:
AMDGPU: Use implicit_def for selecting anyext

Modified:
    llvm/trunk/lib/Target/AMDGPU/SIInstructions.td

Modified: llvm/trunk/lib/Target/AMDGPU/SIInstructions.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIInstructions.td?rev=276819&r1=276818&r2=276819&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/SIInstructions.td (original)
+++ llvm/trunk/lib/Target/AMDGPU/SIInstructions.td Tue Jul 26 18:06:33 2016
@@ -3362,11 +3362,16 @@ def : Pat <
   (S_BFE_I64 i64:$src, 0x200000) // 0 | 32 << 16
 >;
 
-class ZExt_i64_i32_Pat <SDNode ext> : Pat <
-  (i64 (ext i32:$src)),
+def : Pat <
+  (i64 (zext i32:$src)),
   (REG_SEQUENCE SReg_64, $src, sub0, (S_MOV_B32 0), sub1)
 >;
 
+def : Pat <
+  (i64 (anyext i32:$src)),
+  (REG_SEQUENCE SReg_64, $src, sub0, (i32 (IMPLICIT_DEF)), sub1)
+>;
+
 class ZExt_i64_i1_Pat <SDNode ext> : Pat <
   (i64 (ext i1:$src)),
     (REG_SEQUENCE VReg_64,
@@ -3375,8 +3380,6 @@ class ZExt_i64_i1_Pat <SDNode ext> : Pat
 >;
 
 
-def : ZExt_i64_i32_Pat<zext>;
-def : ZExt_i64_i32_Pat<anyext>;
 def : ZExt_i64_i1_Pat<zext>;
 def : ZExt_i64_i1_Pat<anyext>;
 




More information about the llvm-commits mailing list