Displaying 3 results from an estimated 3 matches for "rmdynam".
Did you mean:
dynam
2019 Nov 15
3
RFC: token arguments and operand bundles
...that to get translated to something like this (after SROA cleanup):
define double @foo(double %A, double %B, double %C) {
%orig.rm = call i32 @fegetround()
%ignored = call i32 @fesetround(i32 3072)
%tmp = call double @llvm.experimental.constrained.fadd(double %A, double %B) [ “fpround”(token rmDynamic), “fpexcept”(token rmStrict) ]
%ignored = call i32 @fesetround(i32 %orig.rm)
%result = call double @llvm.experimental.constrained.fadd(double %tmp, double %C) [ “fpround”(token rmDynamic), “fpexcept”(token rmStrict) ]
}
Notice here the literal constant that C defines is still used for the ca...
2019 Nov 14
3
RFC: token arguments and operand bundles
...mean what the arguments currently mean. If not, the default assumption is allowed. A typical call to a constrained intrinsic would look like this:
%sum = call double @llvm.experimental2.constrained.fadd(double %x,
double %y) [ “fpround”(token rmDynamic),
“fpexcept”(token ebStrict) ]
Does that seem like a valid use of tokens and operand bundles? Does it seem better than the current approach?
Thanks,
Andy
_______________________________________________
LLVM Developers mailing...
2019 Nov 14
7
RFC: token arguments and operand bundles
...the arguments currently mean. If not, the default assumption is allowed. A typical call to a constrained intrinsic would look like this:
%sum = call double @llvm.experimental2.constrained.fadd(double %x,
double %y) [ "fpround"(token rmDynamic),
"fpexcept"(token ebStrict) ]
Does that seem like a valid use of tokens and operand bundles? Does it seem better than the current approach?
Thanks,
Andy
-------------- next part --------------
An HTML attachment was...