summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-09-26 17:01:44 +0000
committerCraig Topper <craig.topper@intel.com>2018-09-26 17:01:44 +0000
commitfb5d9f2849a3005e1ccd9554030c5f1a30bf3c0e (patch)
treecf7f030a2ede8265d12d1d2ded4057f05dbcc157 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent344475fce536e2f2f88d5e3b0a7bde51a2149341 (diff)
downloadbcm5719-llvm-fb5d9f2849a3005e1ccd9554030c5f1a30bf3c0e.tar.gz
bcm5719-llvm-fb5d9f2849a3005e1ccd9554030c5f1a30bf3c0e.zip
[X86] For lzcnt/tzcnt intrinsics use cttz/ctlz intrinsics with zero_undef flag set to false.
Previously we used a select and the zero_undef=true intrinsic. In -O2 this pattern will get optimized to zero_undef=false. But in -O0 this optimization won't happen. This results in a compare and cmov being wrapped around a tzcnt/lzcnt instruction. By using the zero_undef=false intrinsic directly without the select, we can improve the -O0 codegen to just an lzcnt/tzcnt instruction. Differential Revision: https://reviews.llvm.org/D52392 llvm-svn: 343126
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud