47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu -o - | FileCheck %s3; ModuleID = '<stdin>'4source_filename = "<stdin>"5target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"6target triple = "aarch64-unknown-linux-gnu"7 8define i32 @Orlshr(i32 %e) {9; CHECK-LABEL: Orlshr:10; CHECK: // %bb.0: // %entry11; CHECK-NEXT: orr w8, w0, w0, lsr #1512; CHECK-NEXT: orr w8, w8, w8, lsr #1513; CHECK-NEXT: orr w8, w8, w8, lsr #1514; CHECK-NEXT: orr w0, w8, w8, lsr #1515; CHECK-NEXT: ret16entry:17 %shr = lshr i32 %e, 1518 %or = or i32 %shr, %e19 %shr.1 = lshr i32 %or, 1520 %or.1 = or i32 %shr.1, %or21 %shr.2 = lshr i32 %or.1, 1522 %or.2 = or i32 %shr.2, %or.123 %shr.3 = lshr i32 %or.2, 1524 %or.3 = or i32 %shr.3, %or.225 ret i32 %or.326}27 28define i32 @Orshl(i32 %e) {29; CHECK-LABEL: Orshl:30; CHECK: // %bb.0: // %entry31; CHECK-NEXT: orr w8, w0, w0, lsl #1532; CHECK-NEXT: orr w8, w8, w8, lsl #1533; CHECK-NEXT: orr w8, w8, w8, lsl #1534; CHECK-NEXT: orr w0, w8, w8, lsl #1535; CHECK-NEXT: ret36entry:37 %shl = shl i32 %e, 1538 %or = or i32 %shl, %e39 %shl.1 = shl i32 %or, 1540 %or.1 = or i32 %shl.1, %or41 %shl.2 = shl i32 %or.1, 1542 %or.2 = or i32 %shl.2, %or.143 %shl.3 = shl i32 %or.2, 1544 %or.3 = or i32 %shl.3, %or.245 ret i32 %or.346}47