Home | History | Annotate | Download | only in SystemZ
      1 ; RUN: llc < %s -march=systemz | not grep aghi
      2 ; RUN: llc < %s -march=systemz | grep llgf | count 1
      3 ; RUN: llc < %s -march=systemz | grep llgh | count 1
      4 ; RUN: llc < %s -march=systemz | grep llgc | count 1
      5 ; RUN: llc < %s -march=systemz | grep lgf  | count 2
      6 ; RUN: llc < %s -march=systemz | grep lgh  | count 2
      7 ; RUN: llc < %s -march=systemz | grep lgb  | count 1
      8 
      9 
     10 target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128"
     11 target triple = "s390x-unknown-linux-gnu"
     12 
     13 define zeroext i64 @foo1(i64* nocapture %a, i64 %idx) nounwind readonly {
     14 entry:
     15 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     16 	%add.ptr2 = getelementptr i64* %a, i64 %add.ptr.sum		; <i64*> [#uses=1]
     17 	%tmp3 = load i64* %add.ptr2		; <i64> [#uses=1]
     18 	ret i64 %tmp3
     19 }
     20 
     21 define zeroext i32 @foo2(i32* nocapture %a, i64 %idx) nounwind readonly {
     22 entry:
     23 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     24 	%add.ptr2 = getelementptr i32* %a, i64 %add.ptr.sum		; <i32*> [#uses=1]
     25 	%tmp3 = load i32* %add.ptr2		; <i32> [#uses=1]
     26 	ret i32 %tmp3
     27 }
     28 
     29 define zeroext i16 @foo3(i16* nocapture %a, i64 %idx) nounwind readonly {
     30 entry:
     31 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     32 	%add.ptr2 = getelementptr i16* %a, i64 %add.ptr.sum		; <i16*> [#uses=1]
     33 	%tmp3 = load i16* %add.ptr2		; <i16> [#uses=1]
     34 	ret i16 %tmp3
     35 }
     36 
     37 define zeroext i8 @foo4(i8* nocapture %a, i64 %idx) nounwind readonly {
     38 entry:
     39 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     40 	%add.ptr2 = getelementptr i8* %a, i64 %add.ptr.sum		; <i8*> [#uses=1]
     41 	%tmp3 = load i8* %add.ptr2		; <i8> [#uses=1]
     42 	ret i8 %tmp3
     43 }
     44 
     45 define signext i64 @foo5(i64* nocapture %a, i64 %idx) nounwind readonly {
     46 entry:
     47 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     48 	%add.ptr2 = getelementptr i64* %a, i64 %add.ptr.sum		; <i64*> [#uses=1]
     49 	%tmp3 = load i64* %add.ptr2		; <i64> [#uses=1]
     50 	ret i64 %tmp3
     51 }
     52 
     53 define signext i32 @foo6(i32* nocapture %a, i64 %idx) nounwind readonly {
     54 entry:
     55 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     56 	%add.ptr2 = getelementptr i32* %a, i64 %add.ptr.sum		; <i32*> [#uses=1]
     57 	%tmp3 = load i32* %add.ptr2		; <i32> [#uses=1]
     58 	ret i32 %tmp3
     59 }
     60 
     61 define signext i16 @foo7(i16* nocapture %a, i64 %idx) nounwind readonly {
     62 entry:
     63 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     64 	%add.ptr2 = getelementptr i16* %a, i64 %add.ptr.sum		; <i16*> [#uses=1]
     65 	%tmp3 = load i16* %add.ptr2		; <i16> [#uses=1]
     66 	ret i16 %tmp3
     67 }
     68 
     69 define signext i8 @foo8(i8* nocapture %a, i64 %idx) nounwind readonly {
     70 entry:
     71 	%add.ptr.sum = add i64 %idx, 1		; <i64> [#uses=1]
     72 	%add.ptr2 = getelementptr i8* %a, i64 %add.ptr.sum		; <i8*> [#uses=1]
     73 	%tmp3 = load i8* %add.ptr2		; <i8> [#uses=1]
     74 	ret i8 %tmp3
     75 }
     76