brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 363eb17 Raw
121 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck %s3 4define i32 @test1(i32 %a) {5; CHECK-LABEL: test1:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    rlwinm 3, 3, 0, 4, 198; CHECK-NEXT:    blr9entry:10  %tmp.1 = and i32 %a, 26843136011  ret i32 %tmp.112}13 14define i32 @test2(i32 %a) {15; CHECK-LABEL: test2:16; CHECK:       # %bb.0: # %entry17; CHECK-NEXT:    rlwinm 3, 3, 24, 24, 3118; CHECK-NEXT:    blr19entry:20  %tmp.2 = ashr i32 %a, 821  %tmp.3 = and i32 %tmp.2, 25522  ret i32 %tmp.323}24 25define i32 @test3(i32 %a) {26; CHECK-LABEL: test3:27; CHECK:       # %bb.0: # %entry28; CHECK-NEXT:    rlwinm 3, 3, 24, 24, 3129; CHECK-NEXT:    blr30entry:31  %tmp.3 = lshr i32 %a, 832  %tmp.4 = and i32 %tmp.3, 25533  ret i32 %tmp.434}35 36define i32 @test4(i32 %a) {37; CHECK-LABEL: test4:38; CHECK:       # %bb.0: # %entry39; CHECK-NEXT:    rlwinm 3, 3, 8, 0, 840; CHECK-NEXT:    blr41entry:42  %tmp.2 = shl i32 %a, 843  %tmp.3 = and i32 %tmp.2, -838860844  ret i32 %tmp.345}46 47define i32 @test5(i32 %a) {48; CHECK-LABEL: test5:49; CHECK:       # %bb.0: # %entry50; CHECK-NEXT:    rlwinm 3, 3, 24, 24, 3151; CHECK-NEXT:    blr52entry:53  %tmp.1 = and i32 %a, 6528054  %tmp.2 = ashr i32 %tmp.1, 855  ret i32 %tmp.256}57 58define i32 @test6(i32 %a) {59; CHECK-LABEL: test6:60; CHECK:       # %bb.0: # %entry61; CHECK-NEXT:    rlwinm 3, 3, 24, 24, 3162; CHECK-NEXT:    blr63entry:64  %tmp.1 = and i32 %a, 6528065  %tmp.2 = lshr i32 %tmp.1, 866  ret i32 %tmp.267}68 69define i32 @test7(i32 %a) {70; CHECK-LABEL: test7:71; CHECK:       # %bb.0: # %entry72; CHECK-NEXT:    rlwinm 3, 3, 8, 0, 773; CHECK-NEXT:    blr74entry:75  %tmp.1 = and i32 %a, 1671168076  %tmp.2 = shl i32 %tmp.1, 877  ret i32 %tmp.278}79 80define i32 @test8(i32 %a, i32 %s) {81; CHECK-LABEL: test8:82; CHECK:       # %bb.0: # %entry83; CHECK-NEXT:    rlwnm 3, 3, 4, 23, 3184; CHECK-NEXT:    blr85entry:86  %r = call i32 @llvm.ppc.rlwnm(i32 %a, i32 %s, i32 511)87  ret i32 %r88}89 90define i32 @test9(i32 %a) {91; CHECK-LABEL: test9:92; CHECK:       # %bb.0: # %entry93; CHECK-NEXT:    rlwinm 3, 3, 31, 23, 3194; CHECK-NEXT:    blr95entry:96  %r = call i32 @llvm.ppc.rlwnm(i32 %a, i32 31, i32 511)97  ret i32 %r98}99 100define i32 @test10(i32 %a, i32 %s) {101; CHECK-LABEL: test10:102; CHECK:       # %bb.0: # %entry103; CHECK-NEXT:    li 3, 0104; CHECK-NEXT:    blr105entry:106  %r = call i32 @llvm.ppc.rlwnm(i32 %a, i32 %s, i32 0)107  ret i32 %r108}109 110define i32 @test11(i32 %a, i32 %s) {111; CHECK-LABEL: test11:112; CHECK:       # %bb.0: # %entry113; CHECK-NEXT:    rotlw 3, 3, 4114; CHECK-NEXT:    blr115entry:116  %r = call i32 @llvm.ppc.rlwnm(i32 %a, i32 %s, i32 -1)117  ret i32 %r118}119 120declare i32 @llvm.ppc.rlwnm(i32, i32, i32 immarg)121