diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-08-18 23:59:21 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2011-08-18 23:59:21 +0000 |
commit | df01610d6f932e82941233d51b29a81445d4bd8d (patch) | |
tree | 7b625db7686ee753ee21f91d5b03eefe123caca4 /lib/Transforms/Utils/LoopSimplify.cpp | |
parent | 2bd6269417960e00962cb7d8ff92e36b183a4910 (diff) |
Re-encoded 128-bit AVX versions of SQRT, RSQRT, RCP have 3 operands
instead of 2. They were already defined this way in their regular
version, but not for the intrinsics versions (*_Int), and that would work
for assembly emission but not for object code, since a MachineOperand
would be missing. This commit fix PR10697.
Also removed the {VSQRT,VRSQRT,VRCP}r_Int forms and match the intrinsic
via INSERT_SUBREG+EXTRACT_SUBREG patterns. The same couldn't be done for
memory versions because sse_load_f32/sse_load_f64 operand need special
handling and don't work like regular "addr" operands.
There are right now 114 "*_Int" and 98 "Int_*" forms! I'm slowly
removing them as I step through, but hope we can get rid of these
someday, they are really annoying :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138012 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/LoopSimplify.cpp')
0 files changed, 0 insertions, 0 deletions