55 lines · plain
1; RUN: not opt -passes=verify -disable-output < %s 2>&1 | FileCheck %s2 3declare double @llvm.experimental.constrained.fadd.f64(double, double, metadata, metadata)4declare double @llvm.experimental.constrained.sqrt.f64(double, metadata, metadata)5 6; Test an illegal value for the rounding mode argument.7; CHECK: invalid rounding mode argument8; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.fadd.f64(double %a, double %b, metadata !"round.dynomic", metadata !"fpexcept.strict") #19define double @f2(double %a, double %b) #0 {10entry:11 %fadd = call double @llvm.experimental.constrained.fadd.f64(12 double %a, double %b,13 metadata !"round.dynomic",14 metadata !"fpexcept.strict") #015 ret double %fadd16}17 18; Test an illegal value for the exception behavior argument.19; CHECK-NEXT: invalid exception behavior argument20; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.fadd.f64(double %a, double %b, metadata !"round.dynamic", metadata !"fpexcept.restrict") #121define double @f3(double %a, double %b) #0 {22entry:23 %fadd = call double @llvm.experimental.constrained.fadd.f64(24 double %a, double %b,25 metadata !"round.dynamic",26 metadata !"fpexcept.restrict") #027 ret double %fadd28}29 30; Test an illegal value for the rounding mode argument.31; CHECK-NEXT: invalid rounding mode argument32; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.sqrt.f64(double %a, metadata !"round.dynomic", metadata !"fpexcept.strict") #133define double @f4(double %a) #0 {34entry:35 %fadd = call double @llvm.experimental.constrained.sqrt.f64(36 double %a,37 metadata !"round.dynomic",38 metadata !"fpexcept.strict") #039 ret double %fadd40}41 42; Test an illegal value for the exception behavior argument.43; CHECK-NEXT: invalid exception behavior argument44; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.sqrt.f64(double %a, metadata !"round.dynamic", metadata !"fpexcept.restrict") #145define double @f5(double %a) #0 {46entry:47 %fadd = call double @llvm.experimental.constrained.sqrt.f64(48 double %a,49 metadata !"round.dynamic",50 metadata !"fpexcept.restrict") #051 ret double %fadd52}53 54attributes #0 = { strictfp }55