; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 ; RUN: llc < %s -mcpu=sm_100 | FileCheck %s --check-prefix=F32X2 ; RUN: llc < %s -mcpu=sm_90 | FileCheck %s --check-prefix=NOF32X2 ; RUN: llc < %s -mcpu=sm_100 -nvptx-no-f32x2 | FileCheck %s --check-prefix=NOF32X2 target triple = "nvptx64-nvidia-cuda" define <2 x float> @test(<2 x float> %a, <2 x float> %b) { ; F32X2-LABEL: test( ; F32X2: { ; F32X2-NEXT: .reg .b64 %rd<4>; ; F32X2-EMPTY: ; F32X2-NEXT: // %bb.0: ; F32X2-NEXT: ld.param.b64 %rd1, [test_param_0]; ; F32X2-NEXT: ld.param.b64 %rd2, [test_param_1]; ; F32X2-NEXT: add.rn.f32x2 %rd3, %rd1, %rd2; ; F32X2-NEXT: st.param.b64 [func_retval0], %rd3; ; F32X2-NEXT: ret; ; ; NOF32X2-LABEL: test( ; NOF32X2: { ; NOF32X2-NEXT: .reg .b32 %r<7>; ; NOF32X2-EMPTY: ; NOF32X2-NEXT: // %bb.0: ; NOF32X2-NEXT: ld.param.v2.b32 {%r1, %r2}, [test_param_0]; ; NOF32X2-NEXT: ld.param.v2.b32 {%r3, %r4}, [test_param_1]; ; NOF32X2-NEXT: add.rn.f32 %r5, %r2, %r4; ; NOF32X2-NEXT: add.rn.f32 %r6, %r1, %r3; ; NOF32X2-NEXT: st.param.v2.b32 [func_retval0], {%r6, %r5}; ; NOF32X2-NEXT: ret; %c = fadd <2 x float> %a, %b ret <2 x float> %c }