[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / PowerPC / constant-combines.ll
blobc15902d9618a2e0d88f9a9d7539b8b1024594264
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=powerpc64-unknown-linux-gnu   -o - %s | FileCheck --check-prefix=BE %s
3 ; RUN: llc -mtriple=powerpc64-ibm-aix-xcoff -o - %s | FileCheck --check-prefix=BE %s
4 ; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -o - %s | FileCheck --check-prefix=LE %s
6 define void @fold_constant_stores_loaddr(i8* %i8_ptr) {
7 ; BE-LABEL: fold_constant_stores_loaddr:
8 ; BE:       # %bb.0: # %entry
9 ; BE-NEXT:    li 4, 0
10 ; BE-NEXT:    std 4, 0(3)
11 ; BE-NEXT:    li 4, -86
12 ; BE-NEXT:    stb 4, 0(3)
13 ; BE-NEXT:    blr
15 ; LE-LABEL: fold_constant_stores_loaddr:
16 ; LE:       # %bb.0: # %entry
17 ; LE-NEXT:    li 4, 0
18 ; LE-NEXT:    li 5, -86
19 ; LE-NEXT:    std 4, 0(3)
20 ; LE-NEXT:    stb 5, 0(3)
21 ; LE-NEXT:    blr
22 entry:
23   %i64_ptr = bitcast i8* %i8_ptr to i64*
24   store i64   0, i64* %i64_ptr, align 8
25   store i8  170,  i8*  %i8_ptr,  align 1
26   ret void
30 define void @fold_constant_stores_hiaddr(i8* %i8_ptr) {
31 ; BE-LABEL: fold_constant_stores_hiaddr:
32 ; BE:       # %bb.0: # %entry
33 ; BE-NEXT:    li 4, 0
34 ; BE-NEXT:    std 4, 0(3)
35 ; BE-NEXT:    li 4, -86
36 ; BE-NEXT:    stb 4, 0(3)
37 ; BE-NEXT:    blr
39 ; LE-LABEL: fold_constant_stores_hiaddr:
40 ; LE:       # %bb.0: # %entry
41 ; LE-NEXT:    li 4, 0
42 ; LE-NEXT:    li 5, -86
43 ; LE-NEXT:    std 4, 0(3)
44 ; LE-NEXT:    stb 5, 0(3)
45 ; LE-NEXT:    blr
46 entry:
47   %i64_ptr = bitcast i8* %i8_ptr to i64*
48   store i64   0, i64* %i64_ptr, align 8
49   %i8_ptr2 = getelementptr inbounds i8, i8* %i8_ptr, i64 7
50   store i8  170,  i8*  %i8_ptr,  align 1
51   ret void