brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · d5b85ea Raw
104 lines · plain
1; RUN: llc -mtriple=mips64el -mcpu=mips64r2 < %s | FileCheck %s2 3define i64 @f0(i64 %a0, i64 %a1) nounwind readnone {4entry:5; CHECK: dsllv6  %shl = shl i64 %a0, %a17  ret i64 %shl8}9 10define i64 @f1(i64 %a0, i64 %a1) nounwind readnone {11entry:12; CHECK: dsrav13  %shr = ashr i64 %a0, %a114  ret i64 %shr15}16 17define i64 @f2(i64 %a0, i64 %a1) nounwind readnone {18entry:19; CHECK: dsrlv20  %shr = lshr i64 %a0, %a121  ret i64 %shr22}23 24define i64 @f3(i64 %a0) nounwind readnone {25entry:26; CHECK: dsll ${{[0-9]+}}, ${{[0-9]+}}, 1027  %shl = shl i64 %a0, 1028  ret i64 %shl29}30 31define i64 @f4(i64 %a0) nounwind readnone {32entry:33; CHECK: dsra ${{[0-9]+}}, ${{[0-9]+}}, 1034  %shr = ashr i64 %a0, 1035  ret i64 %shr36}37 38define i64 @f5(i64 %a0) nounwind readnone {39entry:40; CHECK: dsrl ${{[0-9]+}}, ${{[0-9]+}}, 1041  %shr = lshr i64 %a0, 1042  ret i64 %shr43}44 45define i64 @f6(i64 %a0) nounwind readnone {46entry:47; CHECK: dsll ${{[0-9]+}}, ${{[0-9]+}}, 4048  %shl = shl i64 %a0, 4049  ret i64 %shl50}51 52define i64 @f7(i64 %a0) nounwind readnone {53entry:54; CHECK: dsra ${{[0-9]+}}, ${{[0-9]+}}, 4055  %shr = ashr i64 %a0, 4056  ret i64 %shr57}58 59define i64 @f8(i64 %a0) nounwind readnone {60entry:61; CHECK: dsrl ${{[0-9]+}}, ${{[0-9]+}}, 4062  %shr = lshr i64 %a0, 4063  ret i64 %shr64}65 66define i64 @f9(i64 %a0, i64 %a1) nounwind readnone {67entry:68; CHECK-NOT:  sll69; CHECK:      drotrv70  %shr = lshr i64 %a0, %a171  %sub = sub i64 64, %a172  %shl = shl i64 %a0, %sub73  %or = or i64 %shl, %shr74  ret i64 %or75}76 77define i64 @f10(i64 %a0, i64 %a1) nounwind readnone {78entry:79; CHECK:      drotrv80  %shl = shl i64 %a0, %a181  %sub = sub i64 64, %a182  %shr = lshr i64 %a0, %sub83  %or = or i64 %shr, %shl84  ret i64 %or85}86 87define i64 @f11(i64 %a0) nounwind readnone {88entry:89; CHECK: drotr ${{[0-9]+}}, ${{[0-9]+}}, 1090  %shr = lshr i64 %a0, 1091  %shl = shl i64 %a0, 5492  %or = or i64 %shr, %shl93  ret i64 %or94}95 96define i64 @f12(i64 %a0) nounwind readnone {97entry:98; CHECK:       drotr ${{[0-9]+}}, ${{[0-9]+}}, 5499  %shl = shl i64 %a0, 10100  %shr = lshr i64 %a0, 54101  %or = or i64 %shl, %shr102  ret i64 %or103}104