1*d4af6583SCraig Topper; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 2*d4af6583SCraig Topper; RUN: llc < %s -mtriple=riscv32 -mattr=+zdinx | FileCheck %s 3*d4af6583SCraig Topper 4*d4af6583SCraig Topper; This test previously asserted because TailMerge created a PseudoRV32ZdinxSD 5*d4af6583SCraig Topper; with 2 memoperands which RISCVExpandPseudo could not handle. 6*d4af6583SCraig Topper 7*d4af6583SCraig Topperdefine i32 @foo(double %x, ptr %y, i64 %0, i64 %1, i1 %cmp6.not, ptr %arrayidx13, ptr %arrayidx20) { 8*d4af6583SCraig Topper; CHECK-LABEL: foo: 9*d4af6583SCraig Topper; CHECK: # %bb.0: # %entry 10*d4af6583SCraig Topper; CHECK-NEXT: andi a0, a7, 1 11*d4af6583SCraig Topper; CHECK-NEXT: beqz a0, .LBB0_2 12*d4af6583SCraig Topper; CHECK-NEXT: # %bb.1: # %if.else 13*d4af6583SCraig Topper; CHECK-NEXT: lw a0, 4(sp) 14*d4af6583SCraig Topper; CHECK-NEXT: j .LBB0_3 15*d4af6583SCraig Topper; CHECK-NEXT: .LBB0_2: # %if.then7 16*d4af6583SCraig Topper; CHECK-NEXT: lw a0, 0(sp) 17*d4af6583SCraig Topper; CHECK-NEXT: .LBB0_3: # %common.ret 18*d4af6583SCraig Topper; CHECK-NEXT: fcvt.d.w a2, zero 19*d4af6583SCraig Topper; CHECK-NEXT: sw a2, 0(a0) 20*d4af6583SCraig Topper; CHECK-NEXT: sw a3, 4(a0) 21*d4af6583SCraig Topper; CHECK-NEXT: li a0, 0 22*d4af6583SCraig Topper; CHECK-NEXT: ret 23*d4af6583SCraig Topperentry: 24*d4af6583SCraig Topper br i1 %cmp6.not, label %if.else, label %if.then7 25*d4af6583SCraig Topper 26*d4af6583SCraig Toppercommon.ret: ; preds = %if.else, %if.then7 27*d4af6583SCraig Topper ret i32 0 28*d4af6583SCraig Topper 29*d4af6583SCraig Topperif.then7: ; preds = %entry 30*d4af6583SCraig Topper store double 0.000000e+00, ptr %arrayidx13, align 8 31*d4af6583SCraig Topper br label %common.ret 32*d4af6583SCraig Topper 33*d4af6583SCraig Topperif.else: ; preds = %entry 34*d4af6583SCraig Topper store double 0.000000e+00, ptr %arrayidx20, align 8 35*d4af6583SCraig Topper br label %common.ret 36*d4af6583SCraig Topper} 37*d4af6583SCraig Topper 38