; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sve -verify-machineinstrs < %s | FileCheck %s define @test_knownzero( %x) { ; CHECK-LABEL: test_knownzero: ; CHECK: // %bb.0: ; CHECK-NEXT: movi v0.2d, #0000000000000000 ; CHECK-NEXT: ret %a1 = shl %x, splat (i16 8) %a2 = and %a1, splat (i16 8) ret %a2 } define @asrlsr( %va) { ; CHECK-LABEL: asrlsr: ; CHECK: // %bb.0: ; CHECK-NEXT: lsr z1.d, z1.d, #15 ; CHECK-NEXT: lsr z0.d, z0.d, #15 ; CHECK-NEXT: uzp1 z0.s, z0.s, z1.s ; CHECK-NEXT: ret %vb = zext splat(i32 15) to %x = ashr %va, %vb %y = trunc %x to ret %y }