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).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225819 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ulrich Weigand 2015-01-13 19:43:45 +00:00
parent 33943f870f
commit 5a4c26e7bc
7 changed files with 13 additions and 13 deletions

View File

@ -74,7 +74,6 @@ PPCELFMCAsmInfo::PPCELFMCAsmInfo(bool is64Bit, const Triple& T) {
AssemblerDialect = 1; // New-Style mnemonics. AssemblerDialect = 1; // New-Style mnemonics.
LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment; LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
if (T.isOSFreeBSD() || ((T.isOSNetBSD() || T.isOSOpenBSD()) && !is64Bit)) UseIntegratedAssembler = true;
UseIntegratedAssembler = true;
} }

View File

@ -30,10 +30,11 @@ entry:
} }
; CHECK-LABEL: @foo ; CHECK-LABEL: @foo
; CHECK: ld [[REG:[0-9]+]],0(4) ; CHECK: ld [[REG:[0-9]+]], 0(4)
; CHECK-NEXT: cmpw [[REG]],[[REG]] ; CHECK: cmpw 0, [[REG]], [[REG]]
; CHECK-NEXT: bne- 1f ; CHECK: bne- 0, .Ltmp[[TMP:[0-9]+]]
; CHECK-NEXT: 1: isync ; 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 #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 } attributes #1 = { nounwind }

View File

@ -6,7 +6,7 @@ declare void @foo()
define i32 @test_cr2() nounwind uwtable { define i32 @test_cr2() nounwind uwtable {
entry: entry:
%ret = alloca i32, align 4 %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 store i32 %0, i32* %ret, align 4
call void @foo() call void @foo()
%1 = load i32* %ret, align 4 %1 = load i32* %ret, align 4
@ -35,7 +35,7 @@ entry:
define i32 @test_cr234() nounwind { define i32 @test_cr234() nounwind {
entry: entry:
%ret = alloca i32, align 4 %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 store i32 %0, i32* %ret, align 4
call void @foo() call void @foo()
%1 = load i32* %ret, align 4 %1 = load i32* %ret, align 4

View File

@ -14,8 +14,8 @@ entry:
} }
; CHECK: ld ; CHECK: ld
; CHECK-NOT: addi 3,3,4294967295 ; CHECK-NOT: addi 3, 3, 4294967295
; CHECK: addi 3,3,-1 ; CHECK: addi 3, 3, -1
; CHECK: blr ; CHECK: blr
; Function Attrs: nounwind ; Function Attrs: nounwind

View File

@ -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() { define void @f() {
; CHECK: @f ; CHECK: @f

View File

@ -1,4 +1,4 @@
; RUN: llc < %s -march=ppc32 ; RUN: llc < %s -march=ppc32 -no-integrated-as
; ModuleID = 'mult-alt-generic.c' ; 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 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" target triple = "powerpc"

View File

@ -1,4 +1,4 @@
; RUN: llc < %s -march=ppc64 ; RUN: llc < %s -march=ppc64 -no-integrated-as
; ModuleID = 'mult-alt-generic.c' ; 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 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" target triple = "powerpc64"