[llvm] r225819 - Use the integrated assembler as default on PowerPC

Ulrich Weigand ulrich.weigand at de.ibm.com
Tue Jan 13 11:43:45 PST 2015


Author: uweigand
Date: Tue Jan 13 13:43:45 2015
New Revision: 225819

URL: http://llvm.org/viewvc/llvm-project?rev=225819&view=rev
Log:
Use the integrated assembler as default on PowerPC

This was already done in clang, this commit now uses the integrated
assembler as default when using LLVM tools directly.

A number of test cases using inline asm had to be adapted, either by
updating the expected output, or by using -no-integrated-as (for such
tests that deliberately use an invalid instruction in inline asm).

Modified:
    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
    llvm/trunk/test/CodeGen/PowerPC/asm-constraints.ll
    llvm/trunk/test/CodeGen/PowerPC/crsave.ll
    llvm/trunk/test/CodeGen/PowerPC/ia-neg-const.ll
    llvm/trunk/test/CodeGen/PowerPC/in-asm-f64-reg.ll
    llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc.ll
    llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc64.ll

Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp (original)
+++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp Tue Jan 13 13:43:45 2015
@@ -74,7 +74,6 @@ PPCELFMCAsmInfo::PPCELFMCAsmInfo(bool is
   AssemblerDialect = 1;           // New-Style mnemonics.
   LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
 
-  if (T.isOSFreeBSD() || ((T.isOSNetBSD() || T.isOSOpenBSD()) && !is64Bit))
-    UseIntegratedAssembler = true;
+  UseIntegratedAssembler = true;
 }
 

Modified: llvm/trunk/test/CodeGen/PowerPC/asm-constraints.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/asm-constraints.ll?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/asm-constraints.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/asm-constraints.ll Tue Jan 13 13:43:45 2015
@@ -30,10 +30,11 @@ entry:
 }
 
 ; CHECK-LABEL: @foo
-; CHECK: ld [[REG:[0-9]+]],0(4)
-; CHECK-NEXT: cmpw [[REG]],[[REG]]
-; CHECK-NEXT: bne- 1f
-; CHECK-NEXT: 1: isync
+; CHECK: ld [[REG:[0-9]+]], 0(4)
+; CHECK: cmpw 0, [[REG]], [[REG]]
+; CHECK: bne- 0, .Ltmp[[TMP:[0-9]+]]
+; CHECK: .Ltmp[[TMP]]:
+; CHECK: isync
 
 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { nounwind }

Modified: llvm/trunk/test/CodeGen/PowerPC/crsave.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/crsave.ll?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/crsave.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/crsave.ll Tue Jan 13 13:43:45 2015
@@ -6,7 +6,7 @@ declare void @foo()
 define i32 @test_cr2() nounwind uwtable {
 entry:
   %ret = alloca i32, align 4
-  %0 = call i32 asm sideeffect "\0A\09mtcr $4\0A\09cmp 2,$2,$1\0A\09mfcr $0", "=r,r,r,r,r,~{cr2}"(i32 1, i32 2, i32 3, i32 0) nounwind
+  %0 = call i32 asm sideeffect "\0A\09mtcr $4\0A\09cmpw 2,$2,$1\0A\09mfcr $0", "=r,r,r,r,r,~{cr2}"(i32 1, i32 2, i32 3, i32 0) nounwind
   store i32 %0, i32* %ret, align 4
   call void @foo()
   %1 = load i32* %ret, align 4
@@ -35,7 +35,7 @@ entry:
 define i32 @test_cr234() nounwind {
 entry:
   %ret = alloca i32, align 4
-  %0 = call i32 asm sideeffect "\0A\09mtcr $4\0A\09cmp 2,$2,$1\0A\09cmp 3,$2,$2\0A\09cmp 4,$2,$3\0A\09mfcr $0", "=r,r,r,r,r,~{cr2},~{cr3},~{cr4}"(i32 1, i32 2, i32 3, i32 0) nounwind
+  %0 = call i32 asm sideeffect "\0A\09mtcr $4\0A\09cmpw 2,$2,$1\0A\09cmpw 3,$2,$2\0A\09cmpw 4,$2,$3\0A\09mfcr $0", "=r,r,r,r,r,~{cr2},~{cr3},~{cr4}"(i32 1, i32 2, i32 3, i32 0) nounwind
   store i32 %0, i32* %ret, align 4
   call void @foo()
   %1 = load i32* %ret, align 4

Modified: llvm/trunk/test/CodeGen/PowerPC/ia-neg-const.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/ia-neg-const.ll?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/ia-neg-const.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/ia-neg-const.ll Tue Jan 13 13:43:45 2015
@@ -14,8 +14,8 @@ entry:
 }
 
 ; CHECK: ld
-; CHECK-NOT: addi   3,3,4294967295
-; CHECK: addi   3,3,-1
+; CHECK-NOT: addi   3, 3, 4294967295
+; CHECK: addi   3, 3, -1
 ; CHECK: blr
 
 ; Function Attrs: nounwind

Modified: llvm/trunk/test/CodeGen/PowerPC/in-asm-f64-reg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/in-asm-f64-reg.ll?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/in-asm-f64-reg.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/in-asm-f64-reg.ll Tue Jan 13 13:43:45 2015
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu | FileCheck %s
+; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -no-integrated-as | FileCheck %s
 
 define void @f() {
 ; CHECK: @f

Modified: llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc.ll?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc.ll Tue Jan 13 13:43:45 2015
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=ppc32
+; RUN: llc < %s -march=ppc32 -no-integrated-as
 ; ModuleID = 'mult-alt-generic.c'
 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32"
 target triple = "powerpc"

Modified: llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc64.ll?rev=225819&r1=225818&r2=225819&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc64.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/mult-alt-generic-powerpc64.ll Tue Jan 13 13:43:45 2015
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=ppc64
+; RUN: llc < %s -march=ppc64 -no-integrated-as
 ; ModuleID = 'mult-alt-generic.c'
 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64"
 target triple = "powerpc64"





More information about the llvm-commits mailing list