| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: llc -mtriple=thumbv8.1m.main-none-none-eabihf -mattr=+mve -fast-isel -verify-machineinstrs %s -o - | FileCheck %s |
| ; RUN: llc -mtriple=thumbv8.1m.main-none-none-eabihf -mattr=+mve -verify-machineinstrs %s -o - | FileCheck %s |
| |
| %struct.S51 = type { <16 x i8>, <16 x i8> } |
| |
| define fastcc <4 x i32> @fastcc_zero() { |
| ; CHECK-LABEL: fastcc_zero: |
| ; CHECK: @ %bb.0: @ %entry |
| ; CHECK-NEXT: vmov.i32 q0, #0x0 |
| ; CHECK-NEXT: bx lr |
| entry: |
| ret <4 x i32> zeroinitializer |
| } |
| |
| define fastcc <4 x i32> @fastcc_retsecond(<4 x i32> %a, <4 x i32> %b) { |
| ; CHECK-LABEL: fastcc_retsecond: |
| ; CHECK: @ %bb.0: @ %entry |
| ; CHECK-NEXT: vmov q0, q1 |
| ; CHECK-NEXT: bx lr |
| entry: |
| ret <4 x i32> %b |
| } |
| |
| define internal %struct.S51 @F33() { |
| ; CHECK-LABEL: F33: |
| ; CHECK: @ %bb.0: @ %entry |
| ; CHECK-NEXT: vmov.i32 q0, #0x0 |
| ; CHECK-NEXT: vmov.i32 q1, #0x0 |
| ; CHECK-NEXT: bx lr |
| entry: |
| ret %struct.S51 zeroinitializer |
| } |
| |
| define internal fastcc void @F32() { |
| ; CHECK-LABEL: F32: |
| ; CHECK: @ %bb.0: @ %entry |
| ; CHECK-NEXT: b F33 |
| entry: |
| %call = tail call %struct.S51 @F33() |
| ret void |
| } |