[PATCH] D12969: Don't raise inexact when lowering ceil, floor, round, trunc
Steve Canon via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 18 09:39:19 PDT 2015
scanon created this revision.
scanon added a reviewer: t.p.northover.
scanon added a subscriber: llvm-commits.
Herald added a subscriber: aemerson.
The C standard has historically not specified whether or not these functions should raise the inexact flag. Traditionally on Darwin, these functions *did* raise inexact, and the llvm lowerings followed that conventions. n1778 (C bindings for IEEE-754 (2008)) clarifies that these functions should not set inexact. This patch brings the lowerings for arm64 and x86 in line with the newly specified behavior.
http://reviews.llvm.org/D12969
Files:
lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
lib/Target/AArch64/AArch64InstrInfo.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/AArch64/arm64-rounding.ll
test/CodeGen/AArch64/round-conv.ll
test/CodeGen/X86/avx-cvt.ll
test/CodeGen/X86/floor-soft-float.ll
test/CodeGen/X86/rounding-ops.ll
test/CodeGen/X86/stack-folding-fp-avx1.ll
test/CodeGen/X86/stack-folding-fp-sse42.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12969.35094.patch
Type: text/x-patch
Size: 39567 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150918/5fca7076/attachment-0001.bin>
More information about the llvm-commits
mailing list