llvm.org GIT mirror llvm / bcc1d80
Merging r199918: ------------------------------------------------------------------------ r199918 | thomas.stellard | 2014-01-23 10:49:33 -0800 (Thu, 23 Jan 2014) | 8 lines R600: Disable the BFE pattern This pattern uses an SDNodeXForm, which isn't being emitted for some reason. I can get it to work by attaching the PatLeaf that has the XForm to the argument in the output pattern, but this results in an immediate being used in a register operand, which the backend can't handle yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@204640 91177308-0d34-0410-b5e6-96231b3b80d8 Tom Stellard 6 years ago
3 changed file(s) with 12 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
387387
388388 // Bitfield extract patterns
389389
390 /*
391
392 XXX: The BFE pattern is not working correctly because the XForm is not being
393 applied.
394
390395 def legalshift32 : ImmLeaf =0 && Imm < 32;}]>;
391396 def bfemask : PatLeaf <(imm), [{return isMask_32(N->getZExtValue());}],
392397 SDNodeXFormgetTargetConstant(CountTrailingOnes_32(N->getZExtValue()), MVT::i32);}]>>;
395400 (and (srl i32:$x, legalshift32:$y), bfemask:$z),
396401 (BFE $x, $y, $z)
397402 >;
403
404 */
398405
399406 // rotr pattern
400407 class ROTRPattern : Pat <
15151515 i32:$src2))],
15161516 VecALU
15171517 >;
1518 def : BFEPattern ;
1518 // XXX: This pattern is broken, disabling for now. See comment in
1519 // AMDGPUInstructions.td for more info.
1520 // def : BFEPattern ;
15191521
15201522 def BFI_INT_eg : R600_3OP <0x06, "BFI_INT", [], VecALU>;
15211523 defm : BFIPatterns ;
0 ; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
1
2 ; XFAIL: *
13
24 ; CHECK: @bfe_def
35 ; CHECK: BFE_UINT