[PATCH] [AArch64 NEON] Add patterns for loading vector constant from constant poll.

Tim Northover t.p.northover at gmail.com
Mon Dec 16 06:52:09 PST 2013

  Hi Kevin,

  Thanks for the updated version. It looks good, but reveals a couple more changes that should go in at the same time:

Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:2275-2277
@@ -2273,1 +2274,5 @@
+AArch64TargetLowering::LowerConstantPool(SDValue Op,
+                                         SelectionDAG &DAG) const {
+  SDLoc DL(Op);
This means that the corresponding case in AArch64ISelDAGToDAG.cpp:1116 will never trigger. That's a *very* good thing, since your version is actually correct (I've no idea what I was thinking when I wrote that) but it should probably be removed.

Could you also modify the neon-mov.ll test to make sure this doesn't happen again (from current codegen, but should be fixed with your patch):
    movi1d:                                 // @movi1d
        ldr	d0, [.LCPI40_0, #0]    // WTF???
        movi	 d1, #0xffffffff0000
        b	test_movi1d


More information about the llvm-commits mailing list