1; RUN: not opt -passes=verify -disable-output < %s 2>&1 | FileCheck %s 2 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 argument 8; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.fadd.f64(double %a, double %b, metadata !"round.dynomic", metadata !"fpexcept.strict") #1 9define 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") #0 15 ret double %fadd 16} 17 18; Test an illegal value for the exception behavior argument. 19; CHECK-NEXT: invalid exception behavior argument 20; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.fadd.f64(double %a, double %b, metadata !"round.dynamic", metadata !"fpexcept.restrict") #1 21define 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") #0 27 ret double %fadd 28} 29 30; Test an illegal value for the rounding mode argument. 31; CHECK-NEXT: invalid rounding mode argument 32; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.sqrt.f64(double %a, metadata !"round.dynomic", metadata !"fpexcept.strict") #1 33define 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") #0 39 ret double %fadd 40} 41 42; Test an illegal value for the exception behavior argument. 43; CHECK-NEXT: invalid exception behavior argument 44; CHECK-NEXT: %fadd = call double @llvm.experimental.constrained.sqrt.f64(double %a, metadata !"round.dynamic", metadata !"fpexcept.restrict") #1 45define 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") #0 51 ret double %fadd 52} 53 54attributes #0 = { strictfp } 55