36 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s | FileCheck %s3target triple = "aarch64-linux"4 5define <2 x i32> @f(i8 %0, i8 %1) {6; CHECK-LABEL: f:7; CHECK: // %bb.0:8; CHECK-NEXT: movi v0.2d, #00000000000000009; CHECK-NEXT: mov v0.b[3], w010; CHECK-NEXT: mov v0.b[7], w111; CHECK-NEXT: sshr v0.2s, v0.2s, #2412; CHECK-NEXT: ret13 %3 = insertelement <2 x i8> poison, i8 %0, i64 014 %4 = insertelement <2 x i8> %3, i8 %1, i64 115 %5 = shufflevector <2 x i8> %4, <2 x i8> <i8 0, i8 poison>, <8 x i32> <i32 2, i32 2, i32 2, i32 0, i32 2, i32 2, i32 2, i32 1>16 %6 = bitcast <8 x i8> %5 to <2 x i32>17 %7 = ashr exact <2 x i32> %6, <i32 24, i32 24>18 ret <2 x i32> %719}20 21define <2 x i32> @g(i8 %0, i8 %1) {22; CHECK-LABEL: g:23; CHECK: // %bb.0:24; CHECK-NEXT: movi v0.2d, #000000000000000025; CHECK-NEXT: mov v0.b[3], w026; CHECK-NEXT: mov v0.b[7], w127; CHECK-NEXT: ushr v0.2s, v0.2s, #2428; CHECK-NEXT: ret29 %3 = insertelement <2 x i8> poison, i8 %0, i64 030 %4 = insertelement <2 x i8> %3, i8 %1, i64 131 %5 = shufflevector <2 x i8> %4, <2 x i8> <i8 0, i8 poison>, <8 x i32> <i32 2, i32 2, i32 2, i32 0, i32 2, i32 2, i32 2, i32 1>32 %6 = bitcast <8 x i8> %5 to <2 x i32>33 %7 = lshr exact <2 x i32> %6, <i32 24, i32 24>34 ret <2 x i32> %735}36