brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · f9359c8 Raw
87 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=thumbv8.1m.main-none-none-eabi -mattr=+mve -verify-machineinstrs %s -o - | FileCheck %s3 4define arm_aapcs_vfpcc i32 @u8_explicit_extend(<16 x i8> %a) {5; CHECK-LABEL: u8_explicit_extend:6; CHECK:       @ %bb.0: @ %entry7; CHECK-NEXT:    vmov.u8 r0, q0[10]8; CHECK-NEXT:    bx lr9entry:10  %0 = extractelement <16 x i8> %a, i32 1011  %1 = zext i8 %0 to i3212  ret i32 %113}14 15define arm_aapcs_vfpcc i32 @s8_explicit_extend(<16 x i8> %a) {16; CHECK-LABEL: s8_explicit_extend:17; CHECK:       @ %bb.0: @ %entry18; CHECK-NEXT:    vmov.s8 r0, q0[10]19; CHECK-NEXT:    bx lr20entry:21  %0 = extractelement <16 x i8> %a, i32 1022  %1 = sext i8 %0 to i3223  ret i32 %124}25 26define arm_aapcs_vfpcc i8 @u8_extend_via_pcs(<16 x i8> %a) {27; CHECK-LABEL: u8_extend_via_pcs:28; CHECK:       @ %bb.0: @ %entry29; CHECK-NEXT:    vmov.u8 r0, q0[10]30; CHECK-NEXT:    bx lr31entry:32  %0 = extractelement <16 x i8> %a, i32 1033  ret i8 %034}35 36define arm_aapcs_vfpcc signext i8 @s8_extend_via_pcs(<16 x i8> %a) {37; CHECK-LABEL: s8_extend_via_pcs:38; CHECK:       @ %bb.0: @ %entry39; CHECK-NEXT:    vmov.s8 r0, q0[10]40; CHECK-NEXT:    bx lr41entry:42  %0 = extractelement <16 x i8> %a, i32 1043  ret i8 %044}45 46define arm_aapcs_vfpcc i32 @u16_explicit_extend(<8 x i16> %a) {47; CHECK-LABEL: u16_explicit_extend:48; CHECK:       @ %bb.0: @ %entry49; CHECK-NEXT:    vmov.u16 r0, q0[5]50; CHECK-NEXT:    bx lr51entry:52  %0 = extractelement <8 x i16> %a, i32 553  %1 = zext i16 %0 to i3254  ret i32 %155}56 57define arm_aapcs_vfpcc i32 @s16_explicit_extend(<8 x i16> %a) {58; CHECK-LABEL: s16_explicit_extend:59; CHECK:       @ %bb.0: @ %entry60; CHECK-NEXT:    vmov.s16 r0, q0[5]61; CHECK-NEXT:    bx lr62entry:63  %0 = extractelement <8 x i16> %a, i32 564  %1 = sext i16 %0 to i3265  ret i32 %166}67 68define arm_aapcs_vfpcc i16 @u16_extend_via_pcs(<8 x i16> %a) {69; CHECK-LABEL: u16_extend_via_pcs:70; CHECK:       @ %bb.0: @ %entry71; CHECK-NEXT:    vmov.u16 r0, q0[5]72; CHECK-NEXT:    bx lr73entry:74  %0 = extractelement <8 x i16> %a, i32 575  ret i16 %076}77 78define arm_aapcs_vfpcc signext i16 @s16_extend_via_pcs(<8 x i16> %a) {79; CHECK-LABEL: s16_extend_via_pcs:80; CHECK:       @ %bb.0: @ %entry81; CHECK-NEXT:    vmov.s16 r0, q0[5]82; CHECK-NEXT:    bx lr83entry:84  %0 = extractelement <8 x i16> %a, i32 585  ret i16 %086}87