diff --git a/llvm/test/CodeGen/PowerPC/2007-09-08-unaligned.ll b/llvm/test/CodeGen/PowerPC/2007-09-08-unaligned.ll index 41ef5ccd0f9684..c3599268e02ced 100644 --- a/llvm/test/CodeGen/PowerPC/2007-09-08-unaligned.ll +++ b/llvm/test/CodeGen/PowerPC/2007-09-08-unaligned.ll @@ -1,23 +1,37 @@ -; RUN: llc -verify-machineinstrs -mattr=-vsx \ -; RUN: -mattr=+allow-unaligned-fp-access < %s | FileCheck %s +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -verify-machineinstrs -mattr=-vsx -mattr=+allow-unaligned-fp-access | FileCheck %s + ; ModuleID = 'foo.c' target triple = "powerpc-unknown-linux-gnu" - %struct.anon = type <{ i8, float }> +%struct.anon = type <{ i8, float }> @s = global %struct.anon <{ i8 3, float 0x4014666660000000 }> ; <%struct.anon*> [#uses=1] @u = global <{ i8, double }> <{ i8 3, double 5.100000e+00 }> ; <<{ i8, double }>*> [#uses=1] @t = weak global %struct.anon zeroinitializer ; <%struct.anon*> [#uses=2] @v = weak global <{ i8, double }> zeroinitializer ; <<{ i8, double }>*> [#uses=2] @.str = internal constant [8 x i8] c"%f %lf\0A\00" ; <[8 x i8]*> [#uses=1] -; CHECK: foo -; CHECK: lfs -; CHECK: lfd -; CHECK: stfs -; CHECK: stfd -; CHECK: blr define i32 @foo() { +; CHECK-LABEL: foo: +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: stwu 1, -16(1) +; CHECK-NEXT: .cfi_def_cfa_offset 16 +; CHECK-NEXT: lis 3, s@ha +; CHECK-NEXT: la 3, s@l(3) +; CHECK-NEXT: lfs 0, 1(3) +; CHECK-NEXT: lis 3, u@ha +; CHECK-NEXT: la 3, u@l(3) +; CHECK-NEXT: lfd 1, 1(3) +; CHECK-NEXT: lis 3, t@ha +; CHECK-NEXT: la 3, t@l(3) +; CHECK-NEXT: stfs 0, 1(3) +; CHECK-NEXT: lis 3, v@ha +; CHECK-NEXT: la 3, v@l(3) +; CHECK-NEXT: stfd 1, 1(3) +; CHECK-NEXT: lwz 3, 12(1) +; CHECK-NEXT: addi 1, 1, 16 +; CHECK-NEXT: blr entry: %retval = alloca i32, align 4 ; [#uses=1] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] @@ -36,11 +50,30 @@ return: ; preds = %entry ret i32 %retval6 } -; CHECK: main -; CHECK: lfs -; CHECK: lfd -; CHECK: blr define i32 @main() { +; CHECK-LABEL: main: +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: mflr 0 +; CHECK-NEXT: stw 0, 4(1) +; CHECK-NEXT: stwu 1, -16(1) +; CHECK-NEXT: .cfi_def_cfa_offset 16 +; CHECK-NEXT: .cfi_offset lr, 4 +; CHECK-NEXT: bl foo +; CHECK-NEXT: lis 3, t@ha +; CHECK-NEXT: la 3, t@l(3) +; CHECK-NEXT: lfs 1, 1(3) +; CHECK-NEXT: lis 3, v@ha +; CHECK-NEXT: la 3, v@l(3) +; CHECK-NEXT: lfd 2, 1(3) +; CHECK-NEXT: lis 3, .str@ha +; CHECK-NEXT: la 3, .str@l(3) +; CHECK-NEXT: creqv 6, 6, 6 +; CHECK-NEXT: bl printf +; CHECK-NEXT: lwz 3, 12(1) +; CHECK-NEXT: lwz 0, 20(1) +; CHECK-NEXT: addi 1, 1, 16 +; CHECK-NEXT: mtlr 0 +; CHECK-NEXT: blr entry: %retval = alloca i32, align 4 ; [#uses=1] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]