[all-commits] [llvm/llvm-project] 599998: [HLSL] Move where ZExt happens in 'EmitStoreThroug...

Sarah Spall via All-commits all-commits at lists.llvm.org
Tue May 20 10:27:55 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5999988af8e8a262f56c9819a044b8656bd63f75
      https://github.com/llvm/llvm-project/commit/5999988af8e8a262f56c9819a044b8656bd63f75
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-05-20 (Tue, 20 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl

  Log Message:
  -----------
  [HLSL] Move where ZExt happens in 'EmitStoreThroughExtVectorComponentLValue' to handle bug with hlsl boolean vector swizzles (#140627)

In 'EmitStoreThroughExtVectorComponentLValue', move the code which ZExts
in the case the Destination Scalar Type is larger than the Source Scalar
Type, to the top of the function, to ensure each condition is handled.

The previous code missed this case:
```
bool4 b = true.xxxx;
b.xyz = false.xxx;
```
Leading to a bad shuffle vector. 

Closes #140564



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list