| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: llc --fast-isel -mcpu=znver5 < %s -mtriple=x86_64-unknown-unknown | FileCheck %s |
| |
| define fastcc i16 @test() nounwind { |
| ; CHECK-LABEL: test: |
| ; CHECK: # %bb.0: # %entry |
| ; CHECK-NEXT: pushq %rax |
| ; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 |
| ; CHECK-NEXT: xorl %edi, %edi |
| ; CHECK-NEXT: callq foo@PLT |
| ; CHECK-NEXT: vpslld $31, %xmm0, %xmm0 |
| ; CHECK-NEXT: xorl %edi, %edi |
| ; CHECK-NEXT: vpmovd2m %xmm0, %k0 |
| ; CHECK-NEXT: vpxor %xmm0, %xmm0, %xmm0 |
| ; CHECK-NEXT: vpmovm2d %k0, %xmm1 |
| ; CHECK-NEXT: callq bar@PLT |
| ; CHECK-NEXT: popq %rcx |
| ; CHECK-NEXT: retq |
| entry: |
| %0 = call fastcc <4 x i1> @foo(ptr null, <4 x i1> zeroinitializer) |
| %1 = call fastcc i16 @bar(ptr null, <4 x i1> zeroinitializer, <4 x i1> %0) |
| ret i16 %1 |
| } |
| |
| declare fastcc <4 x i1> @foo(ptr, <4 x i1>) |
| declare fastcc i16 @bar(ptr, <4 x i1>, <4 x i1>) |