Implement an abstraction to specify precise overload types supported by DXIL ops. These overload types are typically a subset of LLVM intrinsics. Implement the corresponding changes in DXILEmitter backend. Add tests to verify expected errors for unsupported overload types at code generation time. Add tests to check for correct overload error output.
14 lines
421 B
LLVM
14 lines
421 B
LLVM
; RUN: not opt -S -dxil-op-lower %s 2>&1 | FileCheck %s
|
|
|
|
; This test is expected to fail with the following error
|
|
; CHECK: LLVM ERROR: Invalid Overload Type
|
|
|
|
define noundef double @round_double(double noundef %a) #0 {
|
|
entry:
|
|
%a.addr = alloca double, align 8
|
|
store double %a, ptr %a.addr, align 8
|
|
%0 = load double, ptr %a.addr, align 8
|
|
%elt.round = call double @llvm.round.f64(double %0)
|
|
ret double %elt.round
|
|
}
|