; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=riscv64 -mattr=+experimental-v -verify-machineinstrs < %s | FileCheck %s declare { , } @llvm.sadd.with.overflow.nxv2i32(, ) define @saddo_nvx2i32( %x, %y) { ; CHECK-LABEL: saddo_nvx2i32: ; CHECK: # %bb.0: ; CHECK-NEXT: vsetvli a0, zero, e32,m1,ta,mu ; CHECK-NEXT: vmslt.vx v25, v9, zero ; CHECK-NEXT: vadd.vv v26, v8, v9 ; CHECK-NEXT: vmslt.vv v27, v26, v8 ; CHECK-NEXT: vsetvli a0, zero, e8,mf4,ta,mu ; CHECK-NEXT: vmxor.mm v0, v25, v27 ; CHECK-NEXT: vsetvli a0, zero, e32,m1,ta,mu ; CHECK-NEXT: vmerge.vim v8, v26, 0, v0 ; CHECK-NEXT: ret %a = call { , } @llvm.sadd.with.overflow.nxv2i32( %x, %y) %b = extractvalue { , } %a, 0 %c = extractvalue { , } %a, 1 %d = select %c, zeroinitializer, %b ret %d }