brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · 13c05c0 Raw
101 lines · plain
1; RUN: llc < %s -mtriple=bpfel -mcpu=v1 -show-mc-encoding | FileCheck %s2 3define zeroext i8 @lshr8(i8 zeroext %a, i8 zeroext %cnt) nounwind readnone {4entry:5; CHECK-LABEL: lshr8:6; CHECK: r0 >>= r2 # encoding: [0x7f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]7  %shr = lshr i8 %a, %cnt8  ret i8 %shr9}10 11define signext i8 @ashr8(i8 signext %a, i8 zeroext %cnt) nounwind readnone {12entry:13; CHECK-LABEL: ashr8:14; CHECK: r0 s>>= r2 # encoding: [0xcf,0x20,0x00,0x00,0x00,0x00,0x00,0x00]15  %shr = ashr i8 %a, %cnt16  ret i8 %shr17}18 19define zeroext i8 @shl8(i8 zeroext %a, i8 zeroext %cnt) nounwind readnone {20entry:21; CHECK: shl822; CHECK: r0 <<= r2 # encoding: [0x6f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]23  %shl = shl i8 %a, %cnt24  ret i8 %shl25}26 27define zeroext i16 @lshr16(i16 zeroext %a, i16 zeroext %cnt) nounwind readnone {28entry:29; CHECK-LABEL: lshr16:30; CHECK: r0 >>= r2 # encoding: [0x7f,0x20,0x00,0x00,0x00,0x00,0x00,0x0031  %shr = lshr i16 %a, %cnt32  ret i16 %shr33}34 35define signext i16 @ashr16(i16 signext %a, i16 zeroext %cnt) nounwind readnone {36entry:37; CHECK-LABEL: ashr16:38; CHECK: r0 s>>= r2 # encoding: [0xcf,0x20,0x00,0x00,0x00,0x00,0x00,0x00]39  %shr = ashr i16 %a, %cnt40  ret i16 %shr41}42 43define zeroext i16 @shl16(i16 zeroext %a, i16 zeroext %cnt) nounwind readnone {44entry:45; CHECK-LABEL: shl16:46; CHECK: r0 <<= r2 # encoding: [0x6f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]47  %shl = shl i16 %a, %cnt48  ret i16 %shl49}50 51define zeroext i32 @lshr32(i32 zeroext %a, i32 zeroext %cnt) nounwind readnone {52entry:53; CHECK-LABEL: lshr32:54; CHECK: r0 >>= r2 # encoding: [0x7f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]55; CHECK: exit # encoding: [0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00]56  %shr = lshr i32 %a, %cnt57  ret i32 %shr58}59 60define signext i32 @ashr32(i32 signext %a, i32 zeroext %cnt) nounwind readnone {61entry:62; CHECK-LABEL: ashr32:63; CHECK: r0 s>>= r2 # encoding: [0xcf,0x20,0x00,0x00,0x00,0x00,0x00,0x00]64  %shr = ashr i32 %a, %cnt65  ret i32 %shr66}67 68define zeroext i32 @shl32(i32 zeroext %a, i32 zeroext %cnt) nounwind readnone {69entry:70; CHECK-LABEL: shl32:71; CHECK: r0 <<= r2 # encoding: [0x6f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]72  %shl = shl i32 %a, %cnt73  ret i32 %shl74}75 76define zeroext i64 @lshr64(i64 zeroext %a, i64 zeroext %cnt) nounwind readnone {77entry:78; CHECK-LABEL: lshr64:79; CHECK: r0 >>= r2 # encoding: [0x7f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]80  %shr = lshr i64 %a, %cnt81  ret i64 %shr82}83 84define signext i64 @ashr64(i64 signext %a, i64 zeroext %cnt) nounwind readnone {85entry:86; CHECK-LABEL: ashr64:87; CHECK: r0 s>>= r2 # encoding: [0xcf,0x20,0x00,0x00,0x00,0x00,0x00,0x00]88  %shr = ashr i64 %a, %cnt89  ret i64 %shr90}91 92define zeroext i64 @shl64(i64 zeroext %a, i64 zeroext %cnt) nounwind readnone {93entry:94; CHECK-LABEL: shl64:95; CHECK: r0 = r1 # encoding: [0xbf,0x10,0x00,0x00,0x00,0x00,0x00,0x00]96; CHECK: r0 <<= r2 # encoding: [0x6f,0x20,0x00,0x00,0x00,0x00,0x00,0x00]97; CHECK: exit # encoding: [0x95,0x00,0x00,0x00,0x00,0x00,0x00,0x00]98  %shl = shl i64 %a, %cnt99  ret i64 %shl100}101