[llvm] 44c3c93 - [InstSimplify] add tests for vectors with NaN + partial undef; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 12 14:52:22 PST 2022


Author: Sanjay Patel
Date: 2022-12-12T17:52:14-05:00
New Revision: 44c3c93eae0104d1cb0106c1abd8b1614f72b2f9

URL: https://github.com/llvm/llvm-project/commit/44c3c93eae0104d1cb0106c1abd8b1614f72b2f9
DIFF: https://github.com/llvm/llvm-project/commit/44c3c93eae0104d1cb0106c1abd8b1614f72b2f9.diff

LOG: [InstSimplify] add tests for vectors with NaN + partial undef; NFC

issue #59122

Added: 
    

Modified: 
    llvm/test/Transforms/InstSimplify/fp-nan.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstSimplify/fp-nan.ll b/llvm/test/Transforms/InstSimplify/fp-nan.ll
index 8ecb79df973d1..3773d4753dded 100644
--- a/llvm/test/Transforms/InstSimplify/fp-nan.ll
+++ b/llvm/test/Transforms/InstSimplify/fp-nan.ll
@@ -81,16 +81,36 @@ define <2 x half> @fdiv_nan_op1(<2 x half> %x) {
   ret <2 x half> %r
 }
 
+; Vector with poison element
+
+define <2 x double> @fsub_nan_poison_op1(<2 x double> %x) {
+; CHECK-LABEL: @fsub_nan_poison_op1(
+; CHECK-NEXT:    ret <2 x double> <double 0x7FF8000000000000, double 0x7FF8000000000000>
+;
+  %r = fsub <2 x double> %x, <double 0xFFFF00000000DEAD, double poison>
+  ret <2 x double> %r
+}
+
 ; Vector with undef element
 
-define <2 x double> @frem_nan_op0(<2 x double> %x) {
-; CHECK-LABEL: @frem_nan_op0(
+define <2 x double> @frem_nan_undef_op0(<2 x double> %x) {
+; CHECK-LABEL: @frem_nan_undef_op0(
 ; CHECK-NEXT:    ret <2 x double> <double 0x7FF8000000000000, double 0x7FF8000000000000>
 ;
-  %r = frem <2 x double> <double 0xFFFF000000000000, double undef>, %x
+  %r = frem <2 x double> <double 0xFFFF00000000DEAD, double undef>, %x
   ret <2 x double> %r
 }
 
+; Vector with poison and undef elements
+
+define <3 x double> @fadd_nan_poison_undef_op1(<3 x double> %x) {
+; CHECK-LABEL: @fadd_nan_poison_undef_op1(
+; CHECK-NEXT:    ret <3 x double> <double 0x7FF8000000000000, double 0x7FF8000000000000, double 0x7FF8000000000000>
+;
+  %r = fadd <3 x double> %x, <double 0xFFFF00000000DEAD, double poison, double undef>
+  ret <3 x double> %r
+}
+
 define float @frem_nan_op1(float %x) {
 ; CHECK-LABEL: @frem_nan_op1(
 ; CHECK-NEXT:    ret float 0x7FF8000000000000


        


More information about the llvm-commits mailing list