brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · f20a619 Raw
61 lines · plain
1; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck %s2; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck %s3 4define i64 @testOptimizeLiAddToAddi(i64 %a) {5; CHECK-LABEL: testOptimizeLiAddToAddi:6; CHECK:    addi 3, 3, 24447; CHECK:    bl callv8; CHECK:    addi 3, 30, 2349; CHECK:    bl call10; CHECK:    blr11entry:12  %cmp = icmp sgt i64 %a, 3313  br i1 %cmp, label %if.then, label %if.end14 15if.then:16  tail call void @callv()17  br label %if.end18 19if.end:20  %add.0 = phi i64 [ 234, %if.then ], [ 2444, %entry ]21  %add2 = add nsw i64 %add.0, %a22  %call = tail call i64 @call(i64 %add2)23  ret i64 %call24}25 26define i64 @testThreePhiIncomings(i64 %a) {27; CHECK-LABEL: testThreePhiIncomings:28; CHECK:    bl callv29; CHECK:    addi 3, 30, 23430; CHECK:    addi 3, 30, 244431; CHECK:    bl callv32; CHECK:    addi 3, 30, 34533; CHECK:    bl call34; CHECK:    blr35entry:36  %cmp = icmp slt i64 %a, 3337  br i1 %cmp, label %if.then, label %if.else38 39if.then:40  tail call void @callv()41  br label %if.end442 43if.else:44  %cmp1 = icmp slt i64 %a, 5545  br i1 %cmp1, label %if.then2, label %if.end446 47if.then2:48  tail call void @callv()49  br label %if.end450 51if.end4:52  %add.0 = phi i64 [ 234, %if.then ], [ 345, %if.then2 ], [ 2444, %if.else ]53  %add5 = add nsw i64 %add.0, %a54  %call = tail call i64 @call(i64 %add5)55  ret i64 %call56}57 58declare void @callv(...)59 60declare i64 @call(i64)61