[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / mem_update.ll
bloba508503bd2a778579a7fceae0181519371036f7d
1 ; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- | \
2 ; RUN:   not grep addi
3 ; RUN: llc -verify-machineinstrs -code-model=small < %s -mtriple=ppc64-- | \
4 ; RUN:   not grep addi
6 @Glob = global i64 4
8 define ptr @test0(ptr %X, ptr %dest) nounwind {
9         %Y = getelementptr i32, ptr %X, i32 4
10         %A = load i32, ptr %Y
11         store i32 %A, ptr %dest
12         ret ptr %Y
15 define ptr @test1(ptr %X, ptr %dest) nounwind {
16         %Y = getelementptr i32, ptr %X, i32 4
17         %A = load i32, ptr %Y
18         store i32 %A, ptr %dest
19         ret ptr %Y
22 define ptr @test2(ptr %X, ptr %dest) nounwind {
23         %Y = getelementptr i16, ptr %X, i32 4
24         %A = load i16, ptr %Y
25         %B = sext i16 %A to i32
26         store i32 %B, ptr %dest
27         ret ptr %Y
30 define ptr @test3(ptr %X, ptr %dest) nounwind {
31         %Y = getelementptr i16, ptr %X, i32 4
32         %A = load i16, ptr %Y
33         %B = zext i16 %A to i32
34         store i32 %B, ptr %dest
35         ret ptr %Y
38 define ptr @test3a(ptr %X, ptr %dest) nounwind {
39         %Y = getelementptr i16, ptr %X, i32 4
40         %A = load i16, ptr %Y
41         %B = sext i16 %A to i64
42         store i64 %B, ptr %dest
43         ret ptr %Y
46 define ptr @test4(ptr %X, ptr %dest) nounwind {
47         %Y = getelementptr i64, ptr %X, i32 4
48         %A = load i64, ptr %Y
49         store i64 %A, ptr %dest
50         ret ptr %Y
53 define ptr @test5(ptr %X) nounwind {
54         %Y = getelementptr i16, ptr %X, i32 4
55         store i16 7, ptr %Y
56         ret ptr %Y
59 define ptr @test6(ptr %X, i64 %A) nounwind {
60         %Y = getelementptr i64, ptr %X, i32 4
61         store i64 %A, ptr %Y
62         ret ptr %Y
65 define ptr @test7(ptr %X, i64 %A) nounwind {
66         store i64 %A, ptr @Glob
67         ret ptr @Glob