[PATCH] D53918: Compile and test i128 math builtins for Win64

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 30 18:47:36 PDT 2018


rnk created this revision.
rnk added reviewers: joerg, mstorsjo.
Herald added subscribers: aheejin, hiraditya, kristof.beyls, javed.absar.

Windows has always been LLP64, not LP64, so the macros were incorrect.
Check for _WIN64, since AArch64 sets that too.

The tests have to be fixed up in two main ways:

1. Use 'ULL' suffixes to avoid sign extension when passing hex literals with the sign bit set to signed 128 arguments. Clang -fms-compatibility makes such hex literals signed, not unsigned.
2. Disable various tests for 80-bit long double interoperation with i128 values.


https://reviews.llvm.org/D53918

Files:
  compiler-rt/lib/builtins/int_types.h
  compiler-rt/lib/builtins/mulvti3.c
  compiler-rt/test/builtins/Unit/fixunsdfti_test.c
  compiler-rt/test/builtins/Unit/fixunssfti_test.c
  compiler-rt/test/builtins/Unit/fixunsxfti_test.c
  compiler-rt/test/builtins/Unit/fixxfti_test.c
  compiler-rt/test/builtins/Unit/floattixf_test.c
  compiler-rt/test/builtins/Unit/floatuntisf_test.c
  compiler-rt/test/builtins/Unit/floatuntixf_test.c
  compiler-rt/test/builtins/Unit/modti3_test.c
  compiler-rt/test/builtins/Unit/mulvti3_test.c
  llvm/lib/Target/X86/X86ISelLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53918.171857.patch
Type: text/x-patch
Size: 13846 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181031/455bfe93/attachment.bin>


More information about the llvm-commits mailing list