diff options
author | Changpeng Fang <changpeng.fang@amd.com> | 2024-11-14 12:21:34 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-14 12:21:34 -0800 |
commit | e3e7c756fb439f4e92691c6f8c891fecd2c918ed (patch) | |
tree | e189be9f0fa74887dce35ff916b7dab84023293c /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | |
parent | 9f96f1cb6f2c7a987de590cbb02780df15c60f18 (diff) | |
download | llvm-e3e7c756fb439f4e92691c6f8c891fecd2c918ed.zip llvm-e3e7c756fb439f4e92691c6f8c891fecd2c918ed.tar.gz llvm-e3e7c756fb439f4e92691c6f8c891fecd2c918ed.tar.bz2 |
AMDGPU: Update pattern matching from "x&(-1>>(32-y))" to "bfe x, 0, y" (#116115)
It is not correct to lower "x&(-1>>(32-y))" to "bfe x, 0, y". When y
equals 32, "-1" is not shifted, so x&(-1>>(32-32) is still x, but "bfe
x, 0, 32" is 0. However, if we know y is at most of 5 bits (< 32), we
can still do the pattern matching.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions