Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / X86 / packed_struct.ll
blobaf9f31b7170846c90fae7971b45bfa98e1733942
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s | FileCheck %s
4 ; make sure we compute the correct offset for a packed structure
6 ;Note: codegen for this could change rendering the above checks wrong
8 target datalayout = "e-p:32:32"
9 target triple = "i686-pc-linux-gnu"
10         %struct.anon = type <{ i8, i32, i32, i32 }>
11 @foos = external dso_local global %struct.anon          ; <ptr> [#uses=3]
12 @bara = weak global [4 x <{ i32, i8 }>] zeroinitializer         ; <ptr> [#uses=2]
14 define i32 @foo() nounwind {
15 ; CHECK-LABEL: foo:
16 ; CHECK:       # %bb.0: # %entry
17 ; CHECK-NEXT:    movl foos+5, %eax
18 ; CHECK-NEXT:    addl foos+1, %eax
19 ; CHECK-NEXT:    addl foos+9, %eax
20 ; CHECK-NEXT:    retl
21 entry:
22         %tmp = load i32, ptr getelementptr (%struct.anon, ptr @foos, i32 0, i32 1)              ; <i32> [#uses=1]
23         %tmp3 = load i32, ptr getelementptr (%struct.anon, ptr @foos, i32 0, i32 2)             ; <i32> [#uses=1]
24         %tmp6 = load i32, ptr getelementptr (%struct.anon, ptr @foos, i32 0, i32 3)             ; <i32> [#uses=1]
25         %tmp4 = add i32 %tmp3, %tmp             ; <i32> [#uses=1]
26         %tmp7 = add i32 %tmp4, %tmp6            ; <i32> [#uses=1]
27         ret i32 %tmp7
30 define i8 @bar() nounwind {
31 ; CHECK-LABEL: bar:
32 ; CHECK:       # %bb.0: # %entry
33 ; CHECK-NEXT:    movzbl bara+19, %eax
34 ; CHECK-NEXT:    addb bara+4, %al
35 ; CHECK-NEXT:    retl
36 entry:
37         %tmp = load i8, ptr getelementptr ([4 x <{ i32, i8 }>], ptr @bara, i32 0, i32 0, i32 1)         ; <i8> [#uses=1]
38         %tmp4 = load i8, ptr getelementptr ([4 x <{ i32, i8 }>], ptr @bara, i32 0, i32 3, i32 1)                ; <i8> [#uses=1]
39         %tmp5 = add i8 %tmp4, %tmp              ; <i8> [#uses=1]
40         ret i8 %tmp5