As Dan pointed out, movzbl, movsbl, and friends are nicer than their alias
[oota-llvm.git] / test / CodeGen / X86 / xor.ll
index f270d9d56e216b4c94a65b83d1c22cadcb046917..b90d81ac9b18867eb2d9752ab496c23718cfbc97 100644 (file)
@@ -1,5 +1,6 @@
 ; RUN: llc < %s -march=x86 -mattr=+sse2  | FileCheck %s -check-prefix=X32
-; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=X64
+; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefix=X64
+; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s -check-prefix=X64
 
 ; Though it is undefined, we want xor undef,undef to produce zero.
 define <4 x i32> @test1() nounwind {
@@ -28,9 +29,9 @@ entry:
         ret i32 %tmp4
         
 ; X64: test3:
-; X64: notl    %esi
-; X64: andl    %edi, %esi
-; X64: movl    %esi, %eax
+; X64: notl    [[A1:%esi|%edx]]
+; X64: andl    [[A0:%edi|%ecx]], [[A1]]
+; X64: movl    [[A1]], %eax
 ; X64: shrl    %eax
 ; X64: ret
 
@@ -80,11 +81,11 @@ bb:
 bb12:
        ret i16 %tmp3
 ; X64: test5:
-; X64:    notw [[REG:%[a-z]+]]
-; X64:    andw {{.*}}[[REG]]
+; X64:    notl [[REG:%[a-z]+]]
+; X64:    andl {{.*}}[[REG]]
 ; X32: test5:
-; X32:    notw [[REG:%[a-z]+]]
-; X32:    andw {{.*}}[[REG]]
+; X32:    notl [[REG:%[a-z]+]]
+; X32:    andl {{.*}}[[REG]]
 }
 
 define i8 @test6(i8 %a, i8 %b) nounwind  {