[PATCH] D28216: AVX-512: Truncate with unsigned saturation.
    Simon Pilgrim via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Jan 10 05:31:26 PST 2017
    
    
  
RKSimon added a comment.
In https://reviews.llvm.org/D28216#641199, @delena wrote:
> 2. I promised to Simon to cover non-avx512 cases with VPACKUS. Now it is in. Additional tests are in avx-trunc.ll.
Thank you!
================
Comment at: ../lib/Target/X86/X86ISelLowering.cpp:31130
+  //Saturation with truncation. We truncate from InVT to VT.
+  assert(In.getValueType().getScalarSizeInBits() > VT.getScalarSizeInBits() &&
+    "Unexpected types for truncate operation");
----------------
In.getScalarValueSizeInBits()
================
Comment at: ../lib/Target/X86/X86ISelLowering.cpp:31144
+  // the element size of the destination type.
+  return (C == ((uint64_t)1 << VT.getScalarSizeInBits()) - 1) ?
+    SrcVal : SDValue();
----------------
Can you use APIntOps::isMask here?
```
APIntOps::isMask(VT.getScalarSizeInBits(), C)
```
Repository:
  rL LLVM
https://reviews.llvm.org/D28216
    
    
More information about the llvm-commits
mailing list