53 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=armv7-unknown-none-eabihf -mattr=+neon < %s | FileCheck %s --check-prefix=LE3; RUN: llc -mtriple=armebv7-unknown-none-eabihf -mattr=+neon < %s | FileCheck %s --check-prefix=BE4 5define i32 @test(i64 %arg1) {6; LE-LABEL: test:7; LE: @ %bb.0: @ %entry8; LE-NEXT: subs r0, r0, #19; LE-NEXT: mov r2, #010; LE-NEXT: sbcs r0, r1, #011; LE-NEXT: vldr s0, .LCPI0_012; LE-NEXT: movwhs r2, #113; LE-NEXT: cmp r2, #014; LE-NEXT: mvnne r2, #015; LE-NEXT: vmov s1, r216; LE-NEXT: vmovn.i32 d16, q017; LE-NEXT: vmovn.i16 d16, q818; LE-NEXT: vmov.u8 r0, d16[0]19; LE-NEXT: and r0, r0, #120; LE-NEXT: bx lr21; LE-NEXT: .p2align 222; LE-NEXT: @ %bb.1:23; LE-NEXT: .LCPI0_0:24; LE-NEXT: .long 0xffffffff @ float NaN25;26; BE-LABEL: test:27; BE: @ %bb.0: @ %entry28; BE-NEXT: subs r1, r1, #129; BE-NEXT: mov r2, #030; BE-NEXT: sbcs r0, r0, #031; BE-NEXT: vldr s0, .LCPI0_032; BE-NEXT: movwhs r2, #133; BE-NEXT: cmp r2, #034; BE-NEXT: mvnne r2, #035; BE-NEXT: vmov s1, r236; BE-NEXT: vmovn.i32 d16, q037; BE-NEXT: vmovn.i16 d16, q838; BE-NEXT: vmov.u8 r0, d16[0]39; BE-NEXT: and r0, r0, #140; BE-NEXT: bx lr41; BE-NEXT: .p2align 242; BE-NEXT: @ %bb.1:43; BE-NEXT: .LCPI0_0:44; BE-NEXT: .long 0xffffffff @ float NaN45entry:46 %insert_zero = insertelement <8 x i64> poison, i64 %arg1, i64 047 %splat_zero = shufflevector <8 x i64> %insert_zero, <8 x i64> poison, <8 x i32> zeroinitializer48 %cmp_vec = icmp ule <8 x i64> <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7>, %splat_zero49 %first_cmp = extractelement <8 x i1> %cmp_vec, i32 050 %ext = zext i1 %first_cmp to i3251 ret i32 %ext52}53