[PATCH] D11970: WebAssembly: floating-point comparisons

JF Bastien via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 11 20:32:57 PDT 2015


jfb created this revision.
jfb added a reviewer: sunfish.
jfb added a subscriber: llvm-commits.
Herald added a subscriber: jfb.

D11924 implemented part of the floating-point comparisons, this patch implements the rest:
 * Tell ISelLowering that all booleans are either 0 or 1.
 * Expand the eq/ne/lt/le/gt/ge floating-point comparisons to the canonical ones (similar to what Mips32r6InstrInfo.td does).
 * Add tests for ord/uno.
 * Add tests for ueq/one/ult/ule/ugt/uge.
 * Fix existing comparison tests to remove the (res & 1) code, which setBooleanContents stops from generating.

http://reviews.llvm.org/D11970

Files:
  lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  lib/Target/WebAssembly/WebAssemblyInstrFloat.td
  test/CodeGen/WebAssembly/comparisons_f32.ll
  test/CodeGen/WebAssembly/comparisons_f64.ll
  test/CodeGen/WebAssembly/comparisons_i32.ll
  test/CodeGen/WebAssembly/comparisons_i64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11970.31899.patch
Type: text/x-patch
Size: 9228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150812/cd64cef1/attachment.bin>


More information about the llvm-commits mailing list