Index: llvm/include/llvm/CodeGen/MachineScheduler.h =================================================================== --- llvm/include/llvm/CodeGen/MachineScheduler.h +++ llvm/include/llvm/CodeGen/MachineScheduler.h @@ -794,7 +794,7 @@ /// Represent the type of SchedCandidate found within a single queue. /// pickNodeBidirectional depends on these listed by decreasing priority. enum CandReason : uint8_t { - NoCand, Only1, PhysRegCopy, RegExcess, RegCritical, Stall, Cluster, Weak, + NoCand, Only1, PhysReg, RegExcess, RegCritical, Stall, Cluster, Weak, RegMax, ResourceReduce, ResourceDemand, BotHeightReduce, BotPathReduce, TopDepthReduce, TopPathReduce, NextDefUse, NodeOrder}; @@ -928,7 +928,7 @@ const TargetRegisterInfo *TRI, const MachineFunction &MF); unsigned getWeakLeft(const SUnit *SU, bool isTop); -int biasPhysRegCopy(const SUnit *SU, bool isTop); +int biasPhysReg(const SUnit *SU, bool isTop); /// GenericScheduler shrinks the unscheduled zone using heuristics to balance /// the schedule. @@ -1006,7 +1006,7 @@ const RegPressureTracker &RPTracker, SchedCandidate &Candidate); - void reschedulePhysRegCopies(SUnit *SU, bool isTop); + void reschedulePhysReg(SUnit *SU, bool isTop); }; /// PostGenericScheduler - Interface to the scheduling algorithm used by Index: llvm/lib/CodeGen/MachineScheduler.cpp =================================================================== --- llvm/lib/CodeGen/MachineScheduler.cpp +++ llvm/lib/CodeGen/MachineScheduler.cpp @@ -2516,7 +2516,7 @@ switch (Reason) { case NoCand: return "NOCAND "; case Only1: return "ONLY1 "; - case PhysRegCopy: return "PREG-COPY "; + case PhysReg: return "PHYS-REG "; case RegExcess: return "REG-EXCESS"; case RegCritical: return "REG-CRIT "; case Stall: return "STALL "; @@ -2852,24 +2852,41 @@ /// copies which can be prescheduled. The rest (e.g. x86 MUL) could be bundled /// with the operation that produces or consumes the physreg. We'll do this when /// regalloc has support for parallel copies. -int biasPhysRegCopy(const SUnit *SU, bool isTop) { +int biasPhysReg(const SUnit *SU, bool isTop) { const MachineInstr *MI = SU->getInstr(); - if (!MI->isCopy()) - return 0; - unsigned ScheduledOper = isTop ? 1 : 0; - unsigned UnscheduledOper = isTop ? 0 : 1; - // If we have already scheduled the physreg produce/consumer, immediately - // schedule the copy. - if (TargetRegisterInfo::isPhysicalRegister( - MI->getOperand(ScheduledOper).getReg())) - return 1; - // If the physreg is at the boundary, defer it. Otherwise schedule it - // immediately to free the dependent. We can hoist the copy later. - bool AtBoundary = isTop ? !SU->NumSuccsLeft : !SU->NumPredsLeft; - if (TargetRegisterInfo::isPhysicalRegister( - MI->getOperand(UnscheduledOper).getReg())) - return AtBoundary ? -1 : 1; + if (MI->isCopy()) { + unsigned ScheduledOper = isTop ? 1 : 0; + unsigned UnscheduledOper = isTop ? 0 : 1; + // If we have already scheduled the physreg produce/consumer, immediately + // schedule the copy. + if (TargetRegisterInfo::isPhysicalRegister( + MI->getOperand(ScheduledOper).getReg())) + return 1; + // If the physreg is at the boundary, defer it. Otherwise schedule it + // immediately to free the dependent. We can hoist the copy later. + bool AtBoundary = isTop ? !SU->NumSuccsLeft : !SU->NumPredsLeft; + if (TargetRegisterInfo::isPhysicalRegister( + MI->getOperand(UnscheduledOper).getReg())) + return AtBoundary ? -1 : 1; + } + + if (MI->isMoveImmediate()) { + // If we have a move immediate and all successors have been assigned, bias + // towards scheduling this later. Make sure all register defs are to + // physical registers. + bool DoBias = true; + for (const MachineOperand &Op : MI->defs()) { + if (Op.isReg() && !TargetRegisterInfo::isPhysicalRegister(Op.getReg())) { + DoBias = false; + break; + } + } + + if (DoBias) + return isTop ? -1 : 1; + } + return 0; } } // end namespace llvm @@ -2930,9 +2947,9 @@ return; } - if (tryGreater(biasPhysRegCopy(TryCand.SU, TryCand.AtTop), - biasPhysRegCopy(Cand.SU, Cand.AtTop), - TryCand, Cand, PhysRegCopy)) + // Bias PhysReg Defs and copies to their uses and defined respectively. + if (tryGreater(biasPhysReg(TryCand.SU, TryCand.AtTop), + biasPhysReg(Cand.SU, Cand.AtTop), TryCand, Cand, PhysReg)) return; // Avoid exceeding the target's limit. @@ -3179,7 +3196,7 @@ return SU; } -void GenericScheduler::reschedulePhysRegCopies(SUnit *SU, bool isTop) { +void GenericScheduler::reschedulePhysReg(SUnit *SU, bool isTop) { MachineBasicBlock::iterator InsertPos = SU->getInstr(); if (!isTop) ++InsertPos; @@ -3194,7 +3211,7 @@ if (isTop ? DepSU->Succs.size() > 1 : DepSU->Preds.size() > 1) continue; MachineInstr *Copy = DepSU->getInstr(); - if (!Copy->isCopy()) + if (!Copy->isCopy() && !Copy->isMoveImmediate()) continue; LLVM_DEBUG(dbgs() << " Rescheduling physreg copy "; DAG->dumpNode(*Dep.getSUnit())); @@ -3208,18 +3225,18 @@ /// does. /// /// FIXME: Eventually, we may bundle physreg copies rather than rescheduling -/// them here. See comments in biasPhysRegCopy. +/// them here. See comments in biasPhysReg. void GenericScheduler::schedNode(SUnit *SU, bool IsTopNode) { if (IsTopNode) { SU->TopReadyCycle = std::max(SU->TopReadyCycle, Top.getCurrCycle()); Top.bumpNode(SU); if (SU->hasPhysRegUses) - reschedulePhysRegCopies(SU, true); + reschedulePhysReg(SU, true); } else { SU->BotReadyCycle = std::max(SU->BotReadyCycle, Bot.getCurrCycle()); Bot.bumpNode(SU); if (SU->hasPhysRegDefs) - reschedulePhysRegCopies(SU, false); + reschedulePhysReg(SU, false); } } Index: llvm/lib/Target/X86/X86InstrCompiler.td =================================================================== --- llvm/lib/Target/X86/X86InstrCompiler.td +++ llvm/lib/Target/X86/X86InstrCompiler.td @@ -143,7 +143,7 @@ // These instructions XOR the frame pointer into a GPR. They are used in some // stack protection schemes. These are post-RA pseudos because we only know the // frame register after register allocation. -let Constraints = "$src = $dst", isPseudo = 1, Defs = [EFLAGS] in { +let Constraints = "$src = $dst", isMoveImm = 1, isPseudo = 1, Defs = [EFLAGS] in { def XOR32_FP : I<0, Pseudo, (outs GR32:$dst), (ins GR32:$src), "xorl\t$$FP, $src", []>, Requires<[NotLP64]>, Sched<[WriteALU]>; @@ -270,7 +270,7 @@ // Alias instruction mapping movr0 to xor. // FIXME: remove when we can teach regalloc that xor reg, reg is ok. let Defs = [EFLAGS], isReMaterializable = 1, isAsCheapAsAMove = 1, - isPseudo = 1, AddedComplexity = 10 in + isPseudo = 1, isMoveImm = 1, AddedComplexity = 10 in def MOV32r0 : I<0, Pseudo, (outs GR32:$dst), (ins), "", [(set GR32:$dst, 0)]>, Sched<[WriteZero]>; Index: llvm/lib/Target/X86/X86InstrInfo.td =================================================================== --- llvm/lib/Target/X86/X86InstrInfo.td +++ llvm/lib/Target/X86/X86InstrInfo.td @@ -1493,7 +1493,7 @@ "mov{q}\t{$src, $dst|$dst, $src}", []>; } -let isReMaterializable = 1, isAsCheapAsAMove = 1 in { +let isReMaterializable = 1, isAsCheapAsAMove = 1, isMoveImm = 1 in { def MOV8ri : Ii8 <0xB0, AddRegFrm, (outs GR8 :$dst), (ins i8imm :$src), "mov{b}\t{$src, $dst|$dst, $src}", [(set GR8:$dst, imm:$src)]>; @@ -1507,7 +1507,7 @@ "mov{q}\t{$src, $dst|$dst, $src}", [(set GR64:$dst, i64immSExt32:$src)]>; } -let isReMaterializable = 1 in { +let isReMaterializable = 1, isMoveImm = 1 in { def MOV64ri : RIi64<0xB8, AddRegFrm, (outs GR64:$dst), (ins i64imm:$src), "movabs{q}\t{$src, $dst|$dst, $src}", [(set GR64:$dst, relocImm:$src)]>; Index: llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll =================================================================== --- llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll +++ llvm/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll @@ -9,7 +9,7 @@ ; CHECK-DAG: orr [[REG2:x[0-9]+]], xzr, #0x2 ; CHECK-DAG: orr [[REG3:x[0-9]+]], xzr, #0x3 ; CHECK-DAG: cmp x0, #0 -; CHECK: csel w[[SELECT_WREG_1:[0-9]+]], wzr, [[REG1]], ne +; CHECK-DAG: csel w[[SELECT_WREG_1:[0-9]+]], wzr, [[REG1]], ne ; CHECK-DAG: csel [[SELECT_XREG_2:x[0-9]+]], [[REG2]], [[REG3]], ne ; CHECK: ubfx [[SELECT_XREG_1:x[0-9]+]], x[[SELECT_WREG_1]], #0, #32 ; CHECK-NEXT: add x0, [[SELECT_XREG_2]], [[SELECT_XREG_1]] Index: llvm/test/CodeGen/AMDGPU/add.v2i16.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/add.v2i16.ll +++ llvm/test/CodeGen/AMDGPU/add.v2i16.ll @@ -203,8 +203,8 @@ ; GFX9: buffer_store_dwordx4 ; VI-DAG: v_mov_b32_e32 v{{[0-9]+}}, 0{{$}} -; VI: flat_load_dword v[[A:[0-9]+]] -; VI: flat_load_dword v[[B:[0-9]+]] +; VI-DAG: flat_load_dword v[[A:[0-9]+]] +; VI-DAG: flat_load_dword v[[B:[0-9]+]] ; VI-DAG: v_add_u16_e32 ; VI: v_add_u16_sdwa v[[ADD_HI:[0-9]+]], v[[A]], v[[B]] dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:WORD_1 Index: llvm/test/CodeGen/AMDGPU/addrspacecast.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/addrspacecast.ll +++ llvm/test/CodeGen/AMDGPU/addrspacecast.ll @@ -194,9 +194,9 @@ } ; HSA-LABEL: {{^}}cast_neg1_group_to_flat_addrspacecast: -; HSA: v_mov_b32_e32 v[[LO:[0-9]+]], 0{{$}} -; HSA: v_mov_b32_e32 v[[K:[0-9]+]], 7{{$}} -; HSA: v_mov_b32_e32 v[[HI:[0-9]+]], 0{{$}} +; HSA-DAG: v_mov_b32_e32 v[[LO:[0-9]+]], 0{{$}} +; HSA-DAG: v_mov_b32_e32 v[[K:[0-9]+]], 7{{$}} +; HSA-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], 0{{$}} ; HSA: {{flat|global}}_store_dword v{{\[}}[[LO]]:[[HI]]{{\]}}, v[[K]] define amdgpu_kernel void @cast_neg1_group_to_flat_addrspacecast() #0 { %cast = addrspacecast i32 addrspace(3)* inttoptr (i32 -1 to i32 addrspace(3)*) to i32* @@ -221,7 +221,7 @@ ; HSA-DAG: v_mov_b32_e32 v[[LO:[0-9]+]], 0{{$}} ; HSA-DAG: v_mov_b32_e32 v[[K:[0-9]+]], 7{{$}} -; HSA: v_mov_b32_e32 v[[HI:[0-9]+]], 0{{$}} +; HSA-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], 0{{$}} ; HSA: {{flat|global}}_store_dword v{{\[}}[[LO]]:[[HI]]{{\]}}, v[[K]] define amdgpu_kernel void @cast_0_private_to_flat_addrspacecast() #0 { %cast = addrspacecast i32 addrspace(5)* null to i32* Index: llvm/test/CodeGen/AMDGPU/bswap.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/bswap.ll +++ llvm/test/CodeGen/AMDGPU/bswap.ll @@ -11,7 +11,7 @@ declare <4 x i64> @llvm.bswap.v4i64(<4 x i64>) nounwind readnone ; FUNC-LABEL: @test_bswap_i32 -; GCN: s_load_dword [[VAL:s[0-9]+]] +; GCN-DAG: s_load_dword [[VAL:s[0-9]+]] ; GCN-DAG: v_alignbit_b32 [[TMP0:v[0-9]+]], [[VAL]], [[VAL]], 8 ; GCN-DAG: v_alignbit_b32 [[TMP1:v[0-9]+]], [[VAL]], [[VAL]], 24 ; GCN-DAG: s_mov_b32 [[K:s[0-9]+]], 0xff00ff Index: llvm/test/CodeGen/AMDGPU/call-argument-types.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/call-argument-types.ll +++ llvm/test/CodeGen/AMDGPU/call-argument-types.ll @@ -61,11 +61,11 @@ ; MESA-DAG: s_mov_b64 s[0:1], s[36:37] -; GCN: v_mov_b32_e32 v0, 1{{$}} +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i1@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i1@rel32@hi+4 +; GCN-DAG: v_mov_b32_e32 v0, 1{{$}} ; MESA-DAG: s_mov_b64 s[2:3], s[38:39] -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i1@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i1@rel32@hi+4 ; GCN: s_swappc_b64 s[30:31], s{{\[}}[[PC_LO]]:[[PC_HI]]{{\]}} ; GCN-NEXT: s_endpgm @@ -123,12 +123,12 @@ ; GCN-LABEL: {{^}}test_call_external_void_func_i8_imm: ; MESA-DAG: s_mov_b32 s33, s3{{$}} -; GCN: v_mov_b32_e32 v0, 0x7b -; HSA-DAG: s_mov_b32 s4, s33{{$}} -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i8@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i8@rel32@hi+4 +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i8@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i8@rel32@hi+4 +; GCN-DAG: v_mov_b32_e32 v0, 0x7b +; HSA-DAG: s_mov_b32 s4, s33{{$}} ; GCN-DAG: s_mov_b32 s32, s33{{$}} ; GCN: s_swappc_b64 s[30:31], s{{\[}}[[PC_LO]]:[[PC_HI]]{{\]}} @@ -144,11 +144,11 @@ ; MESA-DAG: s_mov_b32 s33, s3{{$}} ; GCN-DAG: buffer_load_sbyte v0 -; GCN: s_mov_b32 s4, s33 -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i8_signext@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i8_signext@rel32@hi+4 +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i8_signext@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i8_signext@rel32@hi+4 +; GCN-DAG: s_mov_b32 s4, s33 ; GCN-DAG: s_mov_b32 s32, s3 ; GCN: s_waitcnt vmcnt(0) @@ -165,10 +165,9 @@ ; HSA-DAG: s_mov_b32 s33, s9{{$}} ; GCN-DAG: buffer_load_ubyte v0 -; GCN: s_mov_b32 s4, s33 -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i8_zeroext@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i8_zeroext@rel32@hi+4 +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i8_zeroext@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i8_zeroext@rel32@hi+4 ; GCN-DAG: s_mov_b32 s32, s33 @@ -197,10 +196,9 @@ ; MESA-DAG: s_mov_b32 s33, s3{{$}} ; GCN-DAG: buffer_load_sshort v0 -; GCN: s_mov_b32 s4, s33 -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i16_signext@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i16_signext@rel32@hi+4 +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i16_signext@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i16_signext@rel32@hi+4 ; GCN-DAG: s_mov_b32 s32, s33 @@ -217,11 +215,9 @@ ; MESA-DAG: s_mov_b32 s33, s3{{$}} -; GCN-DAG: buffer_load_ushort v0 -; GCN: s_mov_b32 s4, s33 -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i16_zeroext@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i16_zeroext@rel32@hi+4 +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i16_zeroext@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i16_zeroext@rel32@hi+4 ; GCN-DAG: s_mov_b32 s32, s33 @@ -237,11 +233,11 @@ ; GCN-LABEL: {{^}}test_call_external_void_func_i32_imm: ; MESA-DAG: s_mov_b32 s33, s3{{$}} -; GCN: v_mov_b32_e32 v0, 42 -; GCN: s_mov_b32 s4, s33 -; GCN: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} -; GCN-NEXT: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i32@rel32@lo+4 -; GCN-NEXT: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i32@rel32@hi+4 +; GCN-DAG: s_getpc_b64 s{{\[}}[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]{{\]}} +; GCN-DAG: s_add_u32 s[[PC_LO]], s[[PC_LO]], external_void_func_i32@rel32@lo+4 +; GCN-DAG: s_addc_u32 s[[PC_HI]], s[[PC_HI]], external_void_func_i32@rel32@hi+4 +; GCN-DAG: v_mov_b32_e32 v0, 42 +; GCN-DAG: s_mov_b32 s4, s33 ; GCN-DAG: s_mov_b32 s32, s33 ; GCN: s_swappc_b64 s[30:31], s{{\[}}[[PC_LO]]:[[PC_HI]]{{\]}} @@ -688,7 +684,7 @@ ; GCN-NOT: s_add_u32 [[SP]] ; GCN-DAG: buffer_store_dword [[RELOAD_VAL0]], off, s{{\[[0-9]+:[0-9]+\]}}, [[SP]] offset:4 ; GCN-DAG: buffer_store_dword [[RELOAD_VAL1]], off, s{{\[[0-9]+:[0-9]+\]}}, [[SP]] offset:8 -; GCN-NEXT: s_swappc_b64 +; GCN: s_swappc_b64 ; GCN-DAG: buffer_load_ubyte [[LOAD_OUT_VAL0:v[0-9]+]], off, s{{\[[0-9]+:[0-9]+\]}}, [[FP_REG]] offset:16 ; GCN-DAG: buffer_load_dword [[LOAD_OUT_VAL1:v[0-9]+]], off, s{{\[[0-9]+:[0-9]+\]}}, [[FP_REG]] offset:20 ; GCN-NOT: s_sub_u32 [[SP]] Index: llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll +++ llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll @@ -383,13 +383,12 @@ ; GCN: enable_sgpr_workgroup_id_y = 0 ; GCN: enable_sgpr_workgroup_id_z = 0 +; GCN-NOT: s6 ; GCN-DAG: s_mov_b32 s33, s7 ; GCN-DAG: v_mov_b32_e32 v0, 0x22b - -; GCN-NOT: s6 -; GCN: s_mov_b32 s4, s33 -; GCN-NOT: s6 +; GCN-DAG: s_mov_b32 s4, s33 ; GCN-DAG: s_mov_b32 s32, s33 +; GCN-NOT: s6 ; GCN: s_swappc_b64 define amdgpu_kernel void @kern_indirect_other_arg_use_workgroup_id_x() #1 { call void @other_arg_use_workgroup_id_x(i32 555) @@ -578,16 +577,16 @@ ; GCN: s_swappc_b64 -; GCN: buffer_store_dword v{{[0-9]+}}, off, s[0:3], s5 offset:4 -; GCN: v_mov_b32_e32 v[[LO:[0-9]+]], s[[LO_X]] -; GCN: v_mov_b32_e32 v[[HI:[0-9]+]], s[[HI_X]] -; GCN: {{flat|global}}_load_dword v{{[0-9]+}}, v{{\[}}[[LO]]:[[HI]]{{\]}} -; GCN: v_mov_b32_e32 v[[LO:[0-9]+]], s[[LO_Y]] -; GCN: v_mov_b32_e32 v[[HI:[0-9]+]], s[[HI_Y]] -; GCN: {{flat|global}}_load_dword v{{[0-9]+}}, v{{\[}}[[LO]]:[[HI]]{{\]}} -; GCN: v_mov_b32_e32 v[[LO:[0-9]+]], s[[LO_Z]] -; GCN: v_mov_b32_e32 v[[HI:[0-9]+]], s[[HI_Z]] -; GCN: {{flat|global}}_load_dword v{{[0-9]+}}, v{{\[}}[[LO]]:[[HI]]{{\]}} +; GCN-DAG: buffer_store_dword v{{[0-9]+}}, off, s[0:3], s5 offset:4 +; GCN-DAG: v_mov_b32_e32 v[[LO1:[0-9]+]], s[[LO_X]] +; GCN-DAG: v_mov_b32_e32 v[[HI1:[0-9]+]], s[[HI_X]] +; GCN-DAG: {{flat|global}}_load_dword v{{[0-9]+}}, v{{\[}}[[LO1]]:[[HI1]]{{\]}} +; GCN-DAG: v_mov_b32_e32 v[[LO2:[0-9]+]], s[[LO_Y]] +; GCN-DAG: v_mov_b32_e32 v[[HI2:[0-9]+]], s[[HI_Y]] +; GCN-DAG: {{flat|global}}_load_dword v{{[0-9]+}}, v{{\[}}[[LO2]]:[[HI2]]{{\]}} +; GCN-DAG: v_mov_b32_e32 v[[LO3:[0-9]+]], s[[LO_Z]] +; GCN-DAG: v_mov_b32_e32 v[[HI3:[0-9]+]], s[[HI_Z]] +; GCN-DAG: {{flat|global}}_load_dword v{{[0-9]+}}, v{{\[}}[[LO3]]:[[HI3]]{{\]}} ; GCN: ; use ; GCN: ; use [[SAVE_X]] ; GCN: ; use [[SAVE_Y]] Index: llvm/test/CodeGen/AMDGPU/captured-frame-index.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/captured-frame-index.ll +++ llvm/test/CodeGen/AMDGPU/captured-frame-index.ll @@ -14,9 +14,9 @@ ; GCN-LABEL: {{^}}stored_fi_to_lds: ; GCN: s_load_dword [[LDSPTR:s[0-9]+]] -; GCN: buffer_store_dword v{{[0-9]+}}, off, -; GCN: v_mov_b32_e32 [[ZERO0:v[0-9]+]], 4{{$}} -; GCN: v_mov_b32_e32 [[VLDSPTR:v[0-9]+]], [[LDSPTR]] +; GCN-DAG: buffer_store_dword v{{[0-9]+}}, off, +; GCN-DAG: v_mov_b32_e32 [[ZERO0:v[0-9]+]], 4{{$}} +; GCN-DAG: v_mov_b32_e32 [[VLDSPTR:v[0-9]+]], [[LDSPTR]] ; GCN: ds_write_b32 [[VLDSPTR]], [[ZERO0]] define amdgpu_kernel void @stored_fi_to_lds(float addrspace(5)* addrspace(3)* %ptr) #0 { %tmp = alloca float, addrspace(5) Index: llvm/test/CodeGen/AMDGPU/ctpop64.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/ctpop64.ll +++ llvm/test/CodeGen/AMDGPU/ctpop64.ll @@ -45,11 +45,11 @@ ; FUNC-LABEL: {{^}}v_ctpop_i64_user: ; GCN: {{buffer|flat}}_load_dwordx2 v{{\[}}[[LOVAL:[0-9]+]]:[[HIVAL:[0-9]+]]{{\]}}, -; GCN: v_bcnt_u32_b32{{(_e64)*}} [[MIDRESULT:v[0-9]+]], v[[LOVAL]], 0 -; SI-NEXT: v_bcnt_u32_b32_e32 [[RESULT:v[0-9]+]], v[[HIVAL]], [[MIDRESULT]] -; VI-NEXT: v_bcnt_u32_b32 [[RESULT:v[0-9]+]], v[[HIVAL]], [[MIDRESULT]] -; GCN-DAG: v_or_b32_e32 v[[RESULT_LO:[0-9]+]], s{{[0-9]+}}, [[RESULT]] +; GCN-DAG: v_bcnt_u32_b32{{(_e64)*}} [[MIDRESULT:v[0-9]+]], v[[LOVAL]], 0 +; SI-DAG: v_bcnt_u32_b32_e32 [[RESULT:v[0-9]+]], v[[HIVAL]], [[MIDRESULT]] +; VI-DAG: v_bcnt_u32_b32 [[RESULT:v[0-9]+]], v[[HIVAL]], [[MIDRESULT]] ; GCN-DAG: v_mov_b32_e32 v[[RESULT_HI:[0-9]+]], s{{[0-9]+}} +; GCN-DAG: v_or_b32_e32 v[[RESULT_LO:[0-9]+]], s{{[0-9]+}}, [[RESULT]] ; GCN: buffer_store_dwordx2 v{{\[}}[[RESULT_LO]]:[[RESULT_HI]]{{\]}} ; GCN: s_endpgm define amdgpu_kernel void @v_ctpop_i64_user(i64 addrspace(1)* noalias %out, i64 addrspace(1)* noalias %in, i64 %s.val) nounwind { Index: llvm/test/CodeGen/AMDGPU/ds_write2.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/ds_write2.ll +++ llvm/test/CodeGen/AMDGPU/ds_write2.ll @@ -99,8 +99,8 @@ ; GCN-LABEL: {{^}}simple_write2_two_val_subreg2_mixed_f32: ; GFX9-NOT: m0 -; CI: buffer_load_dwordx2 v{{\[}}[[VAL0:[0-9]+]]:{{[0-9]+\]}} -; CI: buffer_load_dwordx2 v{{\[[0-9]+}}:[[VAL1:[0-9]+]]{{\]}} +; CI-DAG: buffer_load_dwordx2 v{{\[}}[[VAL0:[0-9]+]]:{{[0-9]+\]}} +; CI-DAG: buffer_load_dwordx2 v{{\[[0-9]+}}:[[VAL1:[0-9]+]]{{\]}} ; CI-DAG: s_mov_b32 m0 ; GCN-DAG: v_lshlrev_b32_e32 [[VPTR:v[0-9]+]], 2, v{{[0-9]+}} @@ -338,10 +338,15 @@ ; CI-DAG: s_mov_b32 m0 ; GFX9-NOT: m0 -; GCN-DAG: {{buffer|global}}_load_dwordx2 v{{\[}}[[VAL0:[0-9]+]]:[[VAL1:[0-9]+]]{{\]}} -; GCN-DAG: v_lshlrev_b32_e32 [[VPTR:v[0-9]+]], 3, v{{[0-9]+}} -; GCN: ds_write2_b32 [[VPTR]], v[[VAL0]], v[[VAL1]] offset1:1 -; GCN: ds_write2_b32 [[VPTR]], v[[VAL0]], v[[VAL1]] offset0:14 offset1:15 + +; GFX9-DAG: v_lshlrev_b32_e32 [[VPTR:v[0-9]+]], 3, v{{[0-9]+}} +; GFX9-DAG: {{buffer|global}}_load_dwordx2 v{{\[}}[[VAL0:[0-9]+]]:[[VAL1:[0-9]+]]{{\]}} +; CI-DAG: v_lshlrev_b32_e32 [[VPTR0:v[0-9]+]], 3, v{{[0-9]+}} +; CI-DAG: v_add_{{.*}}32_e32 [[VPTR:v[0-9]+]], vcc, s{{[0-9]+}}, [[VPTR0]] +; CI-DAG: {{buffer|global}}_load_dwordx2 v{{\[}}[[VAL0:[0-9]+]]:[[VAL1:[0-9]+]]{{\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0 + +; GCN-DAG: ds_write2_b32 [[VPTR]], v[[VAL0]], v[[VAL1]] offset1:1 +; GCN-DAG: ds_write2_b32 [[VPTR]], v[[VAL0]], v[[VAL1]] offset0:14 offset1:15 ; GCN: s_endpgm define amdgpu_kernel void @misaligned_simple_write2_one_val_f64(double addrspace(1)* %C, double addrspace(1)* %in, double addrspace(3)* %lds) #0 { %x.i = tail call i32 @llvm.amdgcn.workitem.id.x() #1 Index: llvm/test/CodeGen/AMDGPU/ds_write2st64.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/ds_write2st64.ll +++ llvm/test/CodeGen/AMDGPU/ds_write2st64.ll @@ -63,7 +63,7 @@ ; GFX9-DAG: global_load_dword [[VAL1:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}}, off offset:4 ; GCN-DAG: v_lshlrev_b32_e32 [[SHL:v[0-9]+]], 2, v{{[0-9]+}} -; GCN: v_add_{{i|u}}32_e32 [[VPTR:v[0-9]+]], {{(vcc, )?}}s{{[0-9]+}}, [[SHL]] +; GCN-DAG: v_add_{{i|u}}32_e32 [[VPTR:v[0-9]+]], {{(vcc, )?}}s{{[0-9]+}}, [[SHL]] ; GCN: ds_write2st64_b32 [[VPTR]], [[VAL0]], [[VAL1]] offset1:255 ; GCN: s_endpgm define amdgpu_kernel void @simple_write2st64_two_val_max_offset_f32(float addrspace(1)* %C, float addrspace(1)* %in, float addrspace(3)* %lds) #0 { @@ -91,7 +91,7 @@ ; GFX9-DAG: global_load_dwordx2 [[VAL1:v\[[0-9]+:[0-9]+\]]], {{v\[[0-9]+:[0-9]+\]}}, off offset:8 ; GCN-DAG: v_lshlrev_b32_e32 [[SHL:v[0-9]+]], 3, v{{[0-9]+}} -; GCN: v_add_{{i|u}}32_e32 [[VPTR:v[0-9]+]], {{(vcc, )?}}s{{[0-9]+}}, [[SHL]] +; GCN-DAG: v_add_{{i|u}}32_e32 [[VPTR:v[0-9]+]], {{(vcc, )?}}s{{[0-9]+}}, [[SHL]] ; GCN: ds_write2st64_b64 [[VPTR]], [[VAL0]], [[VAL1]] offset0:4 offset1:127 ; GCN: s_endpgm define amdgpu_kernel void @simple_write2st64_two_val_max_offset_f64(double addrspace(1)* %C, double addrspace(1)* %in, double addrspace(3)* %lds) #0 { Index: llvm/test/CodeGen/AMDGPU/fabs.f16.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/fabs.f16.ll +++ llvm/test/CodeGen/AMDGPU/fabs.f16.ll @@ -137,8 +137,8 @@ ; CI: v_mul_f32_e32 v{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}} ; CI: v_cvt_f16_f32 -; VI: v_mul_f16_sdwa v{{[0-9]+}}, |v{{[0-9]+}}|, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD -; VI: v_mul_f16_e64 v{{[0-9]+}}, |v{{[0-9]+}}|, s{{[0-9]+}} +; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, |v{{[0-9]+}}|, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +; VI-DAG: v_mul_f16_e64 v{{[0-9]+}}, |v{{[0-9]+}}|, s{{[0-9]+}} ; GFX9: v_and_b32_e32 [[FABS:v[0-9]+]], 0x7fff7fff, [[VAL]] ; GFX9: v_pk_mul_f16 v{{[0-9]+}}, [[FABS]], s{{[0-9]+$}} Index: llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll +++ llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll @@ -633,7 +633,7 @@ ; GFX9: s_waitcnt ; GFX9-DAG: v_max_f16_e32 v0, v0, v0 ; GFX9-DAG: s_movk_i32 [[K:s[0-9]+]], 0x4000 -; GFX9: v_and_b32_e32 v0, 0xffff, v0 +; GFX9-DAG: v_and_b32_e32 v0, 0xffff, v0 ; GFX9: v_lshl_or_b32 v0, [[K]], 16, v0 ; GFX9: s_setpc_b64 @@ -666,8 +666,8 @@ } ; GCN-LABEL: {{^}}s_test_canonicalize_undef_v4f16: -; GCN: v_mov_b32_e32 v0, 0x7e007e00 -; GCN: v_mov_b32_e32 v1, v0 +; GCN-DAG: v_mov_b32_e32 v[[R:[0-9]+]], 0x7e007e00 +; GCN-DAG: v_mov_b32_e32 v{{[0-9]+}}, v[[R]] define amdgpu_kernel void @s_test_canonicalize_undef_v4f16(<4 x half> addrspace(1)* %out) #1 { %canonicalized = call <4 x half> @llvm.canonicalize.v4f16(<4 x half> undef) store <4 x half> %canonicalized, <4 x half> addrspace(1)* %out Index: llvm/test/CodeGen/AMDGPU/fneg-combines.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/fneg-combines.ll +++ llvm/test/CodeGen/AMDGPU/fneg-combines.ll @@ -157,13 +157,12 @@ } ; GCN-LABEL: {{^}}v_fneg_add_store_use_fneg_x_f32: -; GCN-SAFE: v_bfrev_b32_e32 [[SIGNBIT:v[0-9]+]], 1{{$}} -; GCN: {{buffer|flat}}_load_dword [[A:v[0-9]+]] -; GCN: {{buffer|flat}}_load_dword [[B:v[0-9]+]] - -; GCN-SAFE: v_xor_b32_e32 [[NEG_A:v[0-9]+]], [[A]], [[SIGNBIT]] -; GCN-SAFE: v_sub_f32_e32 [[ADD:v[0-9]+]], [[B]], [[A]] -; GCN-SAFE: v_xor_b32_e32 [[NEG_ADD:v[0-9]+]], [[ADD]], [[SIGNBIT]] +; GCN-DAG: {{buffer|flat}}_load_dword [[A:v[0-9]+]] +; GCN-DAG: {{buffer|flat}}_load_dword [[B:v[0-9]+]] +; GCN-SAFE-DAG: v_bfrev_b32_e32 [[SIGNBIT:v[0-9]+]], 1{{$}} +; GCN-SAFE-DAG: v_xor_b32_e32 [[NEG_A:v[0-9]+]], [[A]], [[SIGNBIT]] +; GCN-SAFE-DAG: v_sub_f32_e32 [[ADD:v[0-9]+]], [[B]], [[A]] +; GCN-SAFE-DAG: v_xor_b32_e32 [[NEG_ADD:v[0-9]+]], [[ADD]], [[SIGNBIT]] ; GCN-NSZ-DAG: v_xor_b32_e32 [[NEG_A:v[0-9]+]], 0x80000000, [[A]] ; GCN-NSZ-DAG: v_sub_f32_e32 [[NEG_ADD:v[0-9]+]], [[A]], [[B]] Index: llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll +++ llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll @@ -117,8 +117,8 @@ ; CI: v_mul_f32_e32 v{{[0-9]+}}, 4.0, v{{[0-9]+}} ; CI: v_mul_f32_e32 v{{[0-9]+}}, 4.0, v{{[0-9]+}} -; VI: v_mul_f16_e64 v{{[0-9]+}}, -|s{{[0-9]+}}|, 4.0 -; VI: v_mul_f16_sdwa v{{[0-9]+}}, -|v{{[0-9]+}}|, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +; VI-DAG: v_mul_f16_e64 v{{[0-9]+}}, -|s{{[0-9]+}}|, 4.0 +; VI-DAG: v_mul_f16_sdwa v{{[0-9]+}}, -|v{{[0-9]+}}|, v{{[0-9]+}} dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; GFX9: s_and_b32 [[ABS:s[0-9]+]], s{{[0-9]+}}, 0x7fff7fff ; GFX9: v_pk_mul_f16 v{{[0-9]+}}, [[ABS]], 4.0 op_sel_hi:[1,0] neg_lo:[1,0] neg_hi:[1,0] Index: llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll +++ llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll @@ -167,13 +167,13 @@ ; GCN-DAG: s_movk_i32 s6, 0x204 ; CI-DAG: v_lshr_b32_e64 [[SCALED:v[0-9]+]], s6, 6 -; CI: v_add_i32_e64 v0, s[6:7], s6, [[SCALED]] +; CI: v_add_i32_e64 [[VZ:v[0-9]+]], s[6:7], s6, [[SCALED]] ; GFX9-DAG: v_lshrrev_b32_e64 [[SCALED:v[0-9]+]], 6, s6 -; GFX9: v_add_u32_e32 v0, s6, [[SCALED]] +; GFX9: v_add_u32_e32 [[VZ:v[0-9]+]], s6, [[SCALED]] -; GCN: v_mul_lo_i32 v0, v0, 9 -; GCN: ds_write_b32 v0, v0 +; GCN: v_mul_lo_i32 [[VZ]], [[VZ]], 9 +; GCN: ds_write_b32 v0, [[VZ]] define void @func_other_fi_user_non_inline_imm_offset_i32() #0 { %alloca0 = alloca [128 x i32], align 4, addrspace(5) %alloca1 = alloca [8 x i32], align 4, addrspace(5) @@ -191,13 +191,13 @@ ; GCN-DAG: s_movk_i32 [[OFFSET:s[0-9]+]], 0x204 ; CI-DAG: v_lshr_b32_e64 [[SCALED:v[0-9]+]], [[DIFF]], 6 -; CI: v_add_i32_e64 v0, s{{\[[0-9]+:[0-9]+\]}}, [[OFFSET]], [[SCALED]] +; CI: v_add_i32_e64 [[VZ:v[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, [[OFFSET]], [[SCALED]] ; GFX9-DAG: v_lshrrev_b32_e64 [[SCALED:v[0-9]+]], 6, [[DIFF]] -; GFX9: v_add_u32_e32 v0, [[OFFSET]], [[SCALED]] +; GFX9: v_add_u32_e32 [[VZ:v[0-9]+]], [[OFFSET]], [[SCALED]] -; GCN: v_mul_lo_i32 v0, v0, 9 -; GCN: ds_write_b32 v0, v0 +; GCN: v_mul_lo_i32 [[VZ]], [[VZ]], 9 +; GCN: ds_write_b32 v0, [[VZ]] define void @func_other_fi_user_non_inline_imm_offset_i32_vcc_live() #0 { %alloca0 = alloca [128 x i32], align 4, addrspace(5) %alloca1 = alloca [8 x i32], align 4, addrspace(5) Index: llvm/test/CodeGen/AMDGPU/function-returns.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/function-returns.ll +++ llvm/test/CodeGen/AMDGPU/function-returns.ll @@ -320,8 +320,8 @@ ; FIXME: Mixing buffer and global ; FIXME: Should not scalarize ; GCN-LABEL: {{^}}v5i16_func_void: -; GFX9: buffer_load_dwordx2 v[0:1] -; GFX9-NEXT: global_load_short_d16 v2 +; GFX9-DAG: buffer_load_dwordx2 v[0:1] +; GFX9-DAG: global_load_short_d16 v2 ; GFX9-NEXT: s_waitcnt ; GFX9-NEXT: s_setpc_b64 define <5 x i16> @v5i16_func_void() #0 { Index: llvm/test/CodeGen/AMDGPU/global_smrd.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/global_smrd.ll +++ llvm/test/CodeGen/AMDGPU/global_smrd.ll @@ -100,9 +100,11 @@ ; uniform load from global array dominated by alias store ; CHECK-LABEL: @global_array_alias_store -; CHECK: flat_store_dword -; CHECK: v_mov_b32_e32 v[[ADDR_LO:[0-9]+]], s{{[0-9]+}} -; CHECK: v_mov_b32_e32 v[[ADDR_HI:[0-9]+]], s{{[0-9]+}} +; CHECK: s_add_u32 s[[AL:[0-9]+]], s{{[0-9]+}}, A@gotpcrel32@lo+4 +; CHECK: s_addc_u32 s[[AH:[0-9]+]], s{{[0-9]+}}, A@gotpcrel32@hi+4 +; CHECK: s_load_dwordx2 s{{\[}}[[S_ADDRL:[0-9]+]]:[[S_ADDRH:[0-9]+]]{{\]}}, s{{\[}}[[AL]]:[[AH]]{{\]}}, 0 +; CHECK-DAG: v_mov_b32_e32 v[[ADDR_LO:[0-9]+]], s[[S_ADDRL]] +; CHECK-DAG: v_mov_b32_e32 v[[ADDR_HI:[0-9]+]], s[[S_ADDRH]] ; CHECK: flat_load_dwordx2 [[A_ADDR:v\[[0-9]+:[0-9]+\]]], v{{\[}}[[ADDR_LO]]:[[ADDR_HI]]{{\]}} ; CHECK: flat_load_dword [[VVAL:v[0-9]+]], [[A_ADDR]] ; CHECK: flat_store_dword v[{{[0-9]+:[0-9]+}}], [[VVAL]] Index: llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll +++ llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll @@ -14,7 +14,7 @@ } ; GCN-LABEL: {{^}}scratch_buffer_known_high_bit_huge: -; GCN: v_mov_b32_e32 [[FI:v[0-9]+]], 4 +; GCN-DAG: v_mov_b32_e32 [[FI:v[0-9]+]], 4 ; GCN-DAG: buffer_store_dword ; GCN-DAG: v_and_b32_e32 [[MASKED:v[0-9]+]], 0x7ffffffc, [[FI]] ; GCN: flat_store_dword v{{\[[0-9]+:[0-9]+\]}}, [[MASKED]] Index: llvm/test/CodeGen/AMDGPU/immv216.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/immv216.ll +++ llvm/test/CodeGen/AMDGPU/immv216.ll @@ -412,7 +412,7 @@ } ; GCN-LABEL: {{^}}add_inline_imm_neg_1_v2f16: -; GFX9: s_add_i32 [[VAL:s[0-9]+]], s4, -1 +; GFX9: s_add_i32 [[VAL:s[0-9]+]], s{{[0-9]+}}, -1 ; GFX9: v_mov_b32_e32 [[REG:v[0-9]+]], [[VAL]] ; GFX9: buffer_store_dword [[REG]] @@ -429,7 +429,7 @@ } ; GCN-LABEL: {{^}}add_inline_imm_neg_2_v2f16: -; GFX9: s_add_i32 [[VAL:s[0-9]+]], s4, 0xfffefffe +; GFX9: s_add_i32 [[VAL:s[0-9]+]], s{{[0-9]+}}, 0xfffefffe ; GFX9: v_mov_b32_e32 [[REG:v[0-9]+]], [[VAL]] ; GFX9: buffer_store_dword [[REG]] @@ -446,7 +446,7 @@ } ; GCN-LABEL: {{^}}add_inline_imm_neg_16_v2f16: -; GFX9: s_add_i32 [[VAL:s[0-9]+]], s4, 0xfff0fff0 +; GFX9: s_add_i32 [[VAL:s[0-9]+]], s{{[0-9+]}}, 0xfff0fff0 ; GFX9: v_mov_b32_e32 [[REG:v[0-9]+]], [[VAL]] ; GFX9: buffer_store_dword [[REG]] Index: llvm/test/CodeGen/AMDGPU/infinite-loop.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/infinite-loop.ll +++ llvm/test/CodeGen/AMDGPU/infinite-loop.ll @@ -73,7 +73,6 @@ ; SI-LABEL: {{^}}infinite_loops: ; SI: v_mov_b32_e32 [[REG1:v[0-9]+]], 0x3e7 -; SI: s_and_b64 vcc, exec, -1 ; SI: [[LOOP1:BB[0-9]+_[0-9]+]]: ; %loop1 ; SI: s_waitcnt lgkmcnt(0) @@ -81,8 +80,8 @@ ; SI: s_cbranch_vccnz [[LOOP1]] ; SI: s_branch [[RET:BB[0-9]+_[0-9]+]] -; SI: v_mov_b32_e32 [[REG2:v[0-9]+]], 0x378 -; SI: s_and_b64 vcc, exec, -1 +; SI-DAG: v_mov_b32_e32 [[REG2:v[0-9]+]], 0x378 +; SI-DAG: s_and_b64 vcc, exec, -1 ; SI: [[LOOP2:BB[0-9]+_[0-9]+]]: ; %loop2 ; SI: s_waitcnt lgkmcnt(0) Index: llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll +++ llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll @@ -11,12 +11,12 @@ ; GCN-LABEL: {{^}}insertelement_v4f32_0: ; GCN: s_load_dwordx4 +; GCN-DAG: s_mov_b32 [[CONSTREG:s[0-9]+]], 0x40a00000 +; GCN-DAG: v_mov_b32_e32 v[[LOW_REG:[0-9]+]], [[CONSTREG]] ; GCN-DAG: v_mov_b32_e32 v{{[0-9]+}}, s{{[0-9]+}} ; GCN-DAG: v_mov_b32_e32 v{{[0-9]+}}, s{{[0-9]+}} ; GCN-DAG: v_mov_b32_e32 v{{[0-9]+}}, s{{[0-9]+}} ; GCN-DAG: v_mov_b32_e32 v{{[0-9]+}}, s{{[0-9]+}} -; GCN-DAG: s_mov_b32 [[CONSTREG:s[0-9]+]], 0x40a00000 -; GCN-DAG: v_mov_b32_e32 v[[LOW_REG:[0-9]+]], [[CONSTREG]] ; GCN: buffer_store_dwordx4 v{{\[}}[[LOW_REG]]: define amdgpu_kernel void @insertelement_v4f32_0(<4 x float> addrspace(1)* %out, <4 x float> %a) nounwind { %vecins = insertelement <4 x float> %a, float 5.000000e+00, i32 0 Index: llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll +++ llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll @@ -277,7 +277,7 @@ ; FIXME: fold lshl_or c0, c1, v0 -> or (c0 << c1), v0 ; GCN-LABEL: {{^}}v_insertelement_v2i16_1: -; VI: v_mov_b32_e32 [[K:v[0-9]+]], 0x3e70000 +; VI-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0x3e70000 ; GCN-DAG: {{flat|global}}_load_dword [[VEC:v[0-9]+]] ; GFX9-DAG: s_movk_i32 [[K:s[0-9]+]], 0x3e7 @@ -301,8 +301,8 @@ } ; GCN-LABEL: {{^}}v_insertelement_v2i16_1_inlineimm: -; VI: v_mov_b32_e32 [[K:v[0-9]+]], 0xfff10000 -; GCN: {{flat|global}}_load_dword [[VEC:v[0-9]+]] +; VI-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0xfff10000 +; GCN-DAG: {{flat|global}}_load_dword [[VEC:v[0-9]+]] ; CI: v_and_b32_e32 [[ELT0:v[0-9]+]], 0xffff, [[VEC]] ; GFX9: v_and_b32_e32 [[ELT0:v[0-9]+]], 0xffff, [[VEC]] ; CI: v_or_b32_e32 [[RES:v[0-9]+]], 0xfff10000, [[ELT0]] @@ -363,7 +363,7 @@ } ; GCN-LABEL: {{^}}v_insertelement_v2f16_1: -; VI: v_mov_b32_e32 [[K:v[0-9]+]], 0x45000000 +; VI-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0x45000000 ; GCN-DAG: {{flat|global}}_load_dword [[VEC:v[0-9]+]] ; GFX9-DAG: s_movk_i32 [[K:s[0-9]+]], 0x4500 @@ -388,8 +388,8 @@ } ; GCN-LABEL: {{^}}v_insertelement_v2f16_1_inlineimm: -; VI: v_mov_b32_e32 [[K:v[0-9]+]], 0x230000 -; GCN: {{flat|global}}_load_dword [[VEC:v[0-9]+]] +; VI-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0x230000 +; GCN-DAG: {{flat|global}}_load_dword [[VEC:v[0-9]+]] ; CI: v_and_b32_e32 [[ELT0:v[0-9]+]], 0xffff, [[VEC]] ; GFX9: v_and_b32_e32 [[ELT0:v[0-9]+]], 0xffff, [[VEC]] ; CI: v_or_b32_e32 [[RES:v[0-9]+]], 0x230000, [[ELT0]] @@ -448,8 +448,8 @@ ; GFX89-DAG: s_mov_b32 [[MASKK:s[0-9]+]], 0xffff{{$}} ; GCN-DAG: s_movk_i32 [[K:s[0-9]+]], 0x3e7 -; GCN: {{flat|global}}_load_dword [[IDX:v[0-9]+]] -; GCN: {{flat|global}}_load_dword [[VEC:v[0-9]+]] +; GCN-DAG: {{flat|global}}_load_dword [[IDX:v[0-9]+]] +; GCN-DAG: {{flat|global}}_load_dword [[VEC:v[0-9]+]] ; GFX89-DAG: v_lshlrev_b32_e32 [[SCALED_IDX:v[0-9]+]], 4, [[IDX]] ; GFX89-DAG: v_lshlrev_b32_e64 [[MASK:v[0-9]+]], [[SCALED_IDX]], [[MASKK]] @@ -476,8 +476,8 @@ ; GFX89-DAG: s_mov_b32 [[MASKK:s[0-9]+]], 0xffff{{$}} ; GCN-DAG: s_movk_i32 [[K:s[0-9]+]], 0x1234 -; GCN: {{flat|global}}_load_dword [[IDX:v[0-9]+]] -; GCN: {{flat|global}}_load_dword [[VEC:v[0-9]+]] +; GCN-DAG: {{flat|global}}_load_dword [[IDX:v[0-9]+]] +; GCN-DAG: {{flat|global}}_load_dword [[VEC:v[0-9]+]] ; GFX89-DAG: v_lshlrev_b32_e32 [[SCALED_IDX:v[0-9]+]], 4, [[IDX]] ; GFX89-DAG: v_lshlrev_b32_e64 [[MASK:v[0-9]+]], [[SCALED_IDX]], [[MASKK]] Index: llvm/test/CodeGen/AMDGPU/kernel-args.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/kernel-args.ll +++ llvm/test/CodeGen/AMDGPU/kernel-args.ll @@ -528,8 +528,8 @@ ; EGCM: VTX_READ_16 ; EGCM: VTX_READ_16 -; SI: s_load_dwordx8 s -; SI-NEXT: s_load_dwordx2 s +; SI-DAG: s_load_dwordx8 s +; SI-DAG: s_load_dwordx2 s ; SI-NOT: {{buffer|flat|global}}_load Index: llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll +++ llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll @@ -11,8 +11,8 @@ ; SI-DAG: s_load_dword [[SB:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0x1c ; SI: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f32_e32 vcc, [[SA]], [[VB]] -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_f32(i32 addrspace(1)* %out, [8 x i32], float %a, [8 x i32], i32 %b) #0 { %result = call i1 @llvm.amdgcn.class.f32(float %a, i32 %b) #1 @@ -26,8 +26,8 @@ ; SI-DAG: s_load_dword [[SB:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0x1c ; SI: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f32_e64 [[CMP:s\[[0-9]+:[0-9]+\]]], |[[SA]]|, [[VB]] -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_fabs_f32(i32 addrspace(1)* %out, [8 x i32], float %a, [8 x i32], i32 %b) #0 { %a.fabs = call float @llvm.fabs.f32(float %a) #1 @@ -42,8 +42,8 @@ ; SI-DAG: s_load_dword [[SB:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0x1c ; SI: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f32_e64 [[CMP:s\[[0-9]+:[0-9]+\]]], -[[SA]], [[VB]] -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_fneg_f32(i32 addrspace(1)* %out, [8 x i32], float %a, [8 x i32], i32 %b) #0 { %a.fneg = fsub float -0.0, %a @@ -58,8 +58,8 @@ ; SI-DAG: s_load_dword [[SB:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0x1c ; SI: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f32_e64 [[CMP:s\[[0-9]+:[0-9]+\]]], -|[[SA]]|, [[VB]] -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_fneg_fabs_f32(i32 addrspace(1)* %out, [8 x i32], float %a, [8 x i32], i32 %b) #0 { %a.fabs = call float @llvm.fabs.f32(float %a) #1 @@ -73,8 +73,8 @@ ; SI-LABEL: {{^}}test_class_1_f32: ; SI: s_load_dword [[SA:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0xb ; SI: v_cmp_class_f32_e64 [[COND:s\[[0-9]+:[0-9]+\]]], [[SA]], 1{{$}} -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[COND]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[COND]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_1_f32(i32 addrspace(1)* %out, float %a) #0 { %result = call i1 @llvm.amdgcn.class.f32(float %a, i32 1) #1 @@ -86,8 +86,8 @@ ; SI-LABEL: {{^}}test_class_64_f32: ; SI: s_load_dword [[SA:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0xb ; SI: v_cmp_class_f32_e64 [[COND:s\[[0-9]+:[0-9]+\]]], [[SA]], 64{{$}} -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[COND]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[COND]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_64_f32(i32 addrspace(1)* %out, float %a) #0 { %result = call i1 @llvm.amdgcn.class.f32(float %a, i32 64) #1 @@ -101,8 +101,8 @@ ; SI: s_load_dword [[SA:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0xb ; SI: v_mov_b32_e32 [[MASK:v[0-9]+]], 0x3ff{{$}} ; SI: v_cmp_class_f32_e32 vcc, [[SA]], [[MASK]] -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_full_mask_f32(i32 addrspace(1)* %out, float %a) #0 { %result = call i1 @llvm.amdgcn.class.f32(float %a, i32 1023) #1 @@ -115,8 +115,8 @@ ; SI: s_load_dword [[SA:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0xb ; SI: v_mov_b32_e32 [[MASK:v[0-9]+]], 0x1ff{{$}} ; SI: v_cmp_class_f32_e32 vcc, [[SA]], [[MASK]] -; SI-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_9bit_mask_f32(i32 addrspace(1)* %out, float %a) #0 { %result = call i1 @llvm.amdgcn.class.f32(float %a, i32 511) #1 @@ -188,7 +188,7 @@ ; SI-DAG: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f64_e32 vcc, [[SA]], [[VB]] ; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_f64(i32 addrspace(1)* %out, [8 x i32], double %a, [8 x i32], i32 %b) #0 { %result = call i1 @llvm.amdgcn.class.f64(double %a, i32 %b) #1 @@ -203,7 +203,7 @@ ; SI-DAG: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f64_e64 [[CMP:s\[[0-9]+:[0-9]+\]]], |[[SA]]|, [[VB]] ; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_fabs_f64(i32 addrspace(1)* %out, [8 x i32], double %a, [8 x i32], i32 %b) #0 { %a.fabs = call double @llvm.fabs.f64(double %a) #1 @@ -219,7 +219,7 @@ ; SI-DAG: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f64_e64 [[CMP:s\[[0-9]+:[0-9]+\]]], -[[SA]], [[VB]] ; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_fneg_f64(i32 addrspace(1)* %out, [8 x i32], double %a, [8 x i32], i32 %b) #0 { %a.fneg = fsub double -0.0, %a @@ -235,7 +235,7 @@ ; SI-DAG: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] ; SI: v_cmp_class_f64_e64 [[CMP:s\[[0-9]+:[0-9]+\]]], -|[[SA]]|, [[VB]] ; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, [[CMP]] -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_fneg_fabs_f64(i32 addrspace(1)* %out, [8 x i32], double %a, [8 x i32], i32 %b) #0 { %a.fabs = call double @llvm.fabs.f64(double %a) #1 @@ -273,7 +273,7 @@ ; SI: v_cmp_class_f64_e32 vcc, [[SA]], [[MASK]] ; SI-NOT: vcc ; SI: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1, vcc -; SI-NEXT: buffer_store_dword [[RESULT]] +; SI: buffer_store_dword [[RESULT]] ; SI: s_endpgm define amdgpu_kernel void @test_class_full_mask_f64(i32 addrspace(1)* %out, [8 x i32], double %a) #0 { %result = call i1 @llvm.amdgcn.class.f64(double %a, i32 511) #1 Index: llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fmas.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fmas.ll +++ llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fmas.ll @@ -17,7 +17,7 @@ ; VI-DAG: s_load_dword [[SC:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0x94 ; GCN-DAG: s_and_b32 [[AND_I1:s[0-9]+]], 1, s{{[0-9]+}} -; GCN: v_cmp_eq_u32_e64 vcc, [[AND_I1]], 1 +; GCN-DAG: v_cmp_eq_u32_e64 vcc, [[AND_I1]], 1 ; GCN-DAG: v_mov_b32_e32 [[VC:v[0-9]+]], [[SC]] ; GCN-DAG: v_mov_b32_e32 [[VB:v[0-9]+]], [[SB]] Index: llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll +++ llvm/test/CodeGen/AMDGPU/llvm.r600.read.local.size.ll @@ -137,7 +137,7 @@ ; VI: s_load_dword [[VAL:s[0-9]+]], s[0:1], 0x18 ; GCN-NOT: 0xffff ; GCN: v_mov_b32_e32 [[VVAL:v[0-9]+]], [[VAL]] -; GCN-NEXT: buffer_store_dword [[VVAL]] +; GCN: buffer_store_dword [[VVAL]] define amdgpu_kernel void @local_size_x_known_bits(i32 addrspace(1)* %out) { entry: %size = call i32 @llvm.r600.read.local.size.x() #0 @@ -152,7 +152,7 @@ ; VI: s_load_dword [[VAL:s[0-9]+]], s[0:1], 0x1c ; GCN-NOT: 0xffff ; GCN: v_mov_b32_e32 [[VVAL:v[0-9]+]], [[VAL]] -; GCN-NEXT: buffer_store_dword [[VVAL]] +; GCN: buffer_store_dword [[VVAL]] define amdgpu_kernel void @local_size_y_known_bits(i32 addrspace(1)* %out) { entry: %size = call i32 @llvm.r600.read.local.size.y() #0 @@ -167,7 +167,7 @@ ; VI: s_load_dword [[VAL:s[0-9]+]], s[0:1], 0x20 ; GCN-NOT: 0xffff ; GCN: v_mov_b32_e32 [[VVAL:v[0-9]+]], [[VAL]] -; GCN-NEXT: buffer_store_dword [[VVAL]] +; GCN: buffer_store_dword [[VVAL]] define amdgpu_kernel void @local_size_z_known_bits(i32 addrspace(1)* %out) { entry: %size = call i32 @llvm.r600.read.local.size.z() #0 Index: llvm/test/CodeGen/AMDGPU/llvm.round.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/llvm.round.ll +++ llvm/test/CodeGen/AMDGPU/llvm.round.ll @@ -64,9 +64,9 @@ ; GFX89-DAG: s_movk_i32 [[K:s[0-9]+]], 0x7fff{{$}} ; GFX89-DAG: v_mov_b32_e32 [[VX:v[0-9]+]], [[SX]] ; GFX89-DAG: v_mov_b32_e32 [[BFI_K:v[0-9]+]], 0x3c00 -; GFX89: v_bfi_b32 [[COPYSIGN:v[0-9]+]], [[K]], [[BFI_K]], [[VX]] +; GFX89-DAG: v_bfi_b32 [[COPYSIGN:v[0-9]+]], [[K]], [[BFI_K]], [[VX]] -; GFX89: v_trunc_f16_e32 [[TRUNC:v[0-9]+]], [[SX]] +; GFX89-DAG: v_trunc_f16_e32 [[TRUNC:v[0-9]+]], [[SX]] ; GFX89: v_sub_f16_e32 [[SUB:v[0-9]+]], [[SX]], [[TRUNC]] ; GFX89: v_cmp_ge_f16_e64 vcc, |[[SUB]]|, 0.5 ; GFX89: v_cndmask_b32_e32 [[SEL:v[0-9]+]], 0, [[COPYSIGN]] Index: llvm/test/CodeGen/AMDGPU/local-atomics64.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/local-atomics64.ll +++ llvm/test/CodeGen/AMDGPU/local-atomics64.ll @@ -364,7 +364,7 @@ ; GFX89-DAG: s_load_dword [[PTR:s[0-9]+]], s{{\[[0-9]+:[0-9]+\]}}, 0x24 ; GCN-DAG: v_mov_b32_e32 v[[LOVDATA:[0-9]+]], 9 ; GCN-DAG: v_mov_b32_e32 v[[HIVDATA:[0-9]+]], 0 -; GCN: v_mov_b32_e32 [[VPTR:v[0-9]+]], [[PTR]] +; GCN-DAG: v_mov_b32_e32 [[VPTR:v[0-9]+]], [[PTR]] ; GCN: ds_add_u64 {{v[0-9]+}}, v{{\[}}[[LOVDATA]]:[[HIVDATA]]{{\]}} offset:32 ; GCN: s_endpgm define amdgpu_kernel void @lds_atomic_add_noret_i64_offset(i64 addrspace(3)* %ptr) nounwind { Index: llvm/test/CodeGen/AMDGPU/madak.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/madak.ll +++ llvm/test/CodeGen/AMDGPU/madak.ll @@ -31,13 +31,13 @@ ; it. ; GCN-LABEL: {{^}}madak_2_use_f32: -; GFX8_9: v_mov_b32_e32 [[VK:v[0-9]+]], 0x41200000 +; GFX8_9-DAG: v_mov_b32_e32 [[VK:v[0-9]+]], 0x41200000 ; GFX6-DAG: buffer_load_dword [[VA:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, 0 addr64{{$}} ; GFX6-DAG: buffer_load_dword [[VB:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, 0 addr64 offset:4 ; GFX6-DAG: buffer_load_dword [[VC:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, 0 addr64 offset:8 -; GFX8_9: {{flat|global}}_load_dword [[VA:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}} -; GFX8_9: {{flat|global}}_load_dword [[VB:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}} -; GFX8_9: {{flat|global}}_load_dword [[VC:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}} +; GFX8_9-DAG: {{flat|global}}_load_dword [[VA:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}} +; GFX8_9-DAG: {{flat|global}}_load_dword [[VB:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}} +; GFX8_9-DAG: {{flat|global}}_load_dword [[VC:v[0-9]+]], {{v\[[0-9]+:[0-9]+\]}} ; GFX6-DAG: v_mov_b32_e32 [[VK:v[0-9]+]], 0x41200000 ; GCN-DAG: v_madak_f32 {{v[0-9]+}}, [[VA]], [[VB]], 0x41200000 ; GCN-DAG: v_mac_f32_e32 [[VK]], [[VA]], [[VC]] Index: llvm/test/CodeGen/AMDGPU/merge-store-crash.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/merge-store-crash.ll +++ llvm/test/CodeGen/AMDGPU/merge-store-crash.ll @@ -7,9 +7,9 @@ @tess_lds = external addrspace(3) global [8192 x i32] ; CHECK-LABEL: {{^}}main: -; CHECK: ds_write2_b32 -; CHECK: v_mov_b32_e32 v1, v0 -; CHECK: tbuffer_store_format_xyzw v[0:3], +; CHECK-DAG: ds_write2_b32 +; CHECK-DAG: v_mov_b32_e32 v1, v0 +; CHECK-DAG: tbuffer_store_format_xyzw v[0:3], define amdgpu_vs void @main(i32 inreg %arg) { main_body: %tmp = load float, float addrspace(3)* undef, align 4 Index: llvm/test/CodeGen/AMDGPU/move-addr64-rsrc-dead-subreg-writes.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/move-addr64-rsrc-dead-subreg-writes.ll +++ llvm/test/CodeGen/AMDGPU/move-addr64-rsrc-dead-subreg-writes.ll @@ -9,14 +9,11 @@ ; GCN: s_load_dwordx2 s{{\[}}[[ARG1LO:[0-9]+]]:[[ARG1HI:[0-9]+]]{{\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0x0{{$}} ; GCN-NOT: v_mov_b32 -; GCN: v_mov_b32_e32 v[[VARG1LO:[0-9]+]], s[[ARG1LO]] -; GCN: buffer_load_dwordx2 v{{\[}}[[LDPTRLO:[0-9]+]]:[[LDPTRHI:[0-9]+]]{{\]}} -; GCN-NOT: v_mov_b32 -; GCN: v_mov_b32_e32 v[[VARG1HI:[0-9]+]], s[[ARG1HI]] -; GCN-NOT: v_mov_b32 - -; GCN: v_add_i32_e32 v[[PTRLO:[0-9]+]], vcc, v[[LDPTRLO]], v[[VARG1LO]] -; GCN: v_addc_u32_e32 v[[PTRHI:[0-9]+]], vcc, v[[LDPTRHI]], v[[VARG1HI]] +; GCN-DAG: v_mov_b32_e32 v[[VARG1LO:[0-9]+]], s[[ARG1LO]] +; GCN-DAG: buffer_load_dwordx2 v{{\[}}[[LDPTRLO:[0-9]+]]:[[LDPTRHI:[0-9]+]]{{\]}} +; GCN-DAG: v_mov_b32_e32 v[[VARG1HI:[0-9]+]], s[[ARG1HI]] +; GCN-DAG: v_add_i32_e32 v[[PTRLO:[0-9]+]], vcc, v[[LDPTRLO]], v[[VARG1LO]] +; GCN-DAG: v_addc_u32_e32 v[[PTRHI:[0-9]+]], vcc, v[[LDPTRHI]], v[[VARG1HI]] ; GCN: buffer_load_ubyte v{{[0-9]+}}, v{{\[}}[[PTRLO]]:[[PTRHI]]{{\]}}, define amdgpu_kernel void @clobber_vgpr_pair_pointer_add(i64 %arg1, [8 x i32], i8 addrspace(1)* addrspace(1)* %ptrarg, i32 %arg3) #0 { Index: llvm/test/CodeGen/AMDGPU/mul_int24.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/mul_int24.ll +++ llvm/test/CodeGen/AMDGPU/mul_int24.ll @@ -28,7 +28,7 @@ ; GCN-NOT: bfe ; GCN-NOT: ashr ; GCN: v_mul_hi_i32_i24_e32 [[RESULT:v[0-9]+]], -; GCN-NEXT: buffer_store_dword [[RESULT]] +; GCN: buffer_store_dword [[RESULT]] ; EG: ASHR ; EG: ASHR @@ -131,8 +131,8 @@ ; SI-NOT: bfe ; SI: v_mul_hi_i32_i24_e32 v[[MUL_HI:[0-9]+]], -; SI-NEXT: v_and_b32_e32 v[[HI:[0-9]+]], 1, v[[MUL_HI]] -; SI-NEXT: buffer_store_dword v[[HI]] +; SI: v_and_b32_e32 v[[HI:[0-9]+]], 1, v[[MUL_HI]] +; SI: buffer_store_dword v[[HI]] define amdgpu_kernel void @test_smulhi24_i33(i32 addrspace(1)* %out, i33 %a, i33 %b) { entry: %tmp0 = shl i33 %a, 9 Index: llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll +++ llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll @@ -101,7 +101,7 @@ ; FUNC-LABEL: {{^}}test_umulhi24_i32_i64: ; GCN-NOT: and ; GCN: v_mul_hi_u32_u24_e32 [[RESULT:v[0-9]+]], -; GCN-NEXT: buffer_store_dword [[RESULT]] +; GCN: buffer_store_dword [[RESULT]] define amdgpu_kernel void @test_umulhi24_i32_i64(i32 addrspace(1)* %out, i32 %a, i32 %b) { entry: %a.24 = and i32 %a, 16777215 @@ -118,7 +118,7 @@ ; FUNC-LABEL: {{^}}test_umulhi24: ; GCN-NOT: and ; GCN: v_mul_hi_u32_u24_e32 [[RESULT:v[0-9]+]], -; GCN-NEXT: buffer_store_dword [[RESULT]] +; GCN: buffer_store_dword [[RESULT]] define amdgpu_kernel void @test_umulhi24(i32 addrspace(1)* %out, i64 %a, i64 %b) { entry: %a.24 = and i64 %a, 16777215 @@ -205,8 +205,8 @@ ; GCN-NOT: and ; GCN-NOT: lshr ; GCN: v_mul_hi_u32_u24_e32 v[[MUL_HI:[0-9]+]], -; GCN-NEXT: v_and_b32_e32 v[[HI:[0-9]+]], 1, v[[MUL_HI]] -; GCN-NEXT: buffer_store_dword v[[HI]] +; GCN: v_and_b32_e32 v[[HI:[0-9]+]], 1, v[[MUL_HI]] +; GCN: buffer_store_dword v[[HI]] define amdgpu_kernel void @test_umulhi24_i33(i32 addrspace(1)* %out, i33 %a, i33 %b) { entry: %tmp0 = shl i33 %a, 9 Index: llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll +++ llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll @@ -60,11 +60,11 @@ ; GCN-LABEL: {{^}}multi_divergent_region_exit_ret_ret: -; GCN: s_mov_b64 [[EXIT1:s\[[0-9]+:[0-9]+\]]], 0 -; GCN: v_cmp_lt_i32_e32 vcc, 1, -; GCN: s_mov_b64 [[EXIT0:s\[[0-9]+:[0-9]+\]]], 0 -; GCN: s_and_saveexec_b64 -; GCN: s_xor_b64 +; GCN-DAG: s_mov_b64 [[EXIT1:s\[[0-9]+:[0-9]+\]]], 0 +; GCN-DAG: v_cmp_lt_i32_e32 vcc, 1, +; GCN-DAG: s_mov_b64 [[EXIT0:s\[[0-9]+:[0-9]+\]]], 0 +; GCN-DAG: s_and_saveexec_b64 +; GCN-DAG: s_xor_b64 ; GCN: ; %LeafBlock1 ; GCN-NEXT: s_mov_b64 [[EXIT0]], exec @@ -92,8 +92,8 @@ ; GCN-NEXT: s_xor_b64 ; GCN: ; %exit1 -; GCN: ds_write_b32 -; GCN: s_andn2_b64 [[EXIT0]], [[EXIT0]], exec +; GCN-DAG: ds_write_b32 +; GCN-DAG: s_andn2_b64 [[EXIT0]], [[EXIT0]], exec ; GCN: ; %Flow5 ; GCN-NEXT: s_or_b64 exec, exec, Index: llvm/test/CodeGen/AMDGPU/or.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/or.ll +++ llvm/test/CodeGen/AMDGPU/or.ll @@ -95,11 +95,8 @@ ; SI: s_load_dwordx2 s{{\[}}[[VAL_LO:[0-9]+]]:[[VAL_HI:[0-9]+]]{{\]}}, s{{\[[0-9]+:[0-9]+\]}}, {{0x13|0x4c}} ; SI-NOT: or_b32 ; SI: s_or_b32 s[[VAL_LO]], s[[VAL_LO]], 63 -; SI-NOT: or_b32 -; SI: v_mov_b32_e32 v[[VLO:[0-9]+]], s[[VAL_LO]] -; SI-NOT: or_b32 -; SI: v_mov_b32_e32 v[[VHI:[0-9]+]], s[[VAL_HI]] -; SI-NOT: or_b32 +; SI-DAG: v_mov_b32_e32 v[[VLO:[0-9]+]], s[[VAL_LO]] +; SI-DAG: v_mov_b32_e32 v[[VHI:[0-9]+]], s[[VAL_HI]] ; SI: buffer_store_dwordx2 v{{\[}}[[VLO]]:[[VHI]]{{\]}} define amdgpu_kernel void @scalar_or_inline_imm_i64(i64 addrspace(1)* %out, [8 x i32], i64 %a) { %or = or i64 %a, 63 Index: llvm/test/CodeGen/AMDGPU/permute.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/permute.ll +++ llvm/test/CodeGen/AMDGPU/permute.ll @@ -156,8 +156,8 @@ ; GCN-LABEL: {{^}}known_ffff0500: ; GCN-DAG: v_mov_b32_e32 [[MASK:v[0-9]+]], 0xffff0500 ; GCN-DAG: v_mov_b32_e32 [[RES:v[0-9]+]], 0xffff8004 -; GCN: v_perm_b32 v{{[0-9]+}}, {{[vs][0-9]+}}, {{[vs][0-9]+}}, [[MASK]] -; GCN: store_dword v[{{[0-9:]+}}], [[RES]]{{$}} +; GCN-DAG: v_perm_b32 v{{[0-9]+}}, {{[vs][0-9]+}}, {{[vs][0-9]+}}, [[MASK]] +; GCN-DAG: store_dword v[{{[0-9:]+}}], [[RES]]{{$}} define amdgpu_kernel void @known_ffff0500(i32 addrspace(1)* nocapture %arg, i32 %arg1) { bb: %id = tail call i32 @llvm.amdgcn.workitem.id.x() @@ -178,8 +178,8 @@ ; GCN-LABEL: {{^}}known_050c0c00: ; GCN-DAG: v_mov_b32_e32 [[MASK:v[0-9]+]], 0x50c0c00 ; GCN-DAG: v_mov_b32_e32 [[RES:v[0-9]+]], 4{{$}} -; GCN: v_perm_b32 v{{[0-9]+}}, {{[vs][0-9]+}}, {{[vs][0-9]+}}, [[MASK]] -; GCN: store_dword v[{{[0-9:]+}}], [[RES]]{{$}} +; GCN-DAG: v_perm_b32 v{{[0-9]+}}, {{[vs][0-9]+}}, {{[vs][0-9]+}}, [[MASK]] +; GCN-DAG: store_dword v[{{[0-9:]+}}], [[RES]]{{$}} define amdgpu_kernel void @known_050c0c00(i32 addrspace(1)* nocapture %arg, i32 %arg1) { bb: %id = tail call i32 @llvm.amdgcn.workitem.id.x() @@ -199,8 +199,8 @@ ; GCN-LABEL: {{^}}known_ffff8004: ; GCN-DAG: v_mov_b32_e32 [[MASK:v[0-9]+]], 0xffff0500 ; GCN-DAG: v_mov_b32_e32 [[RES:v[0-9]+]], 0xffff8004 -; GCN: v_perm_b32 v{{[0-9]+}}, {{[vs][0-9]+}}, {{[vs][0-9]+}}, [[MASK]] -; GCN: store_dword v[{{[0-9:]+}}], [[RES]]{{$}} +; GCN-DAG: v_perm_b32 v{{[0-9]+}}, {{[vs][0-9]+}}, {{[vs][0-9]+}}, [[MASK]] +; GCN-DAG: store_dword v[{{[0-9:]+}}], [[RES]]{{$}} define amdgpu_kernel void @known_ffff8004(i32 addrspace(1)* nocapture %arg, i32 %arg1) { bb: %id = tail call i32 @llvm.amdgcn.workitem.id.x() Index: llvm/test/CodeGen/AMDGPU/ret.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/ret.ll +++ llvm/test/CodeGen/AMDGPU/ret.ll @@ -17,14 +17,13 @@ } ; GCN-LABEL: {{^}}vgpr_literal: -; GCN: v_mov_b32_e32 v4, v0 -; GCN: exp mrt0 v4, v4, v4, v4 done vm +; GCN: exp mrt0 v0, v0, v0, v0 done vm ; GCN-DAG: v_mov_b32_e32 v0, 1.0 ; GCN-DAG: v_mov_b32_e32 v1, 2.0 ; GCN-DAG: v_mov_b32_e32 v2, 4.0 ; GCN-DAG: v_mov_b32_e32 v3, -1.0 -; GCN: s_waitcnt expcnt(0) +; GCN-DAG: s_waitcnt expcnt(0) ; GCN-NOT: s_endpgm define amdgpu_vs { float, float, float, float } @vgpr_literal([9 x <16 x i8>] addrspace(4)* byval %arg, i32 inreg %arg1, i32 inreg %arg2, float %arg3) #0 { bb: @@ -226,15 +225,14 @@ } ; GCN-LABEL: {{^}}structure_literal: -; GCN: v_mov_b32_e32 v3, v0 -; GCN: exp mrt0 v3, v3, v3, v3 done vm +; GCN: exp mrt0 v0, v0, v0, v0 done vm ; GCN-DAG: v_mov_b32_e32 v0, 1.0 ; GCN-DAG: s_mov_b32 s0, 2 ; GCN-DAG: s_mov_b32 s1, 3 ; GCN-DAG: v_mov_b32_e32 v1, 2.0 ; GCN-DAG: v_mov_b32_e32 v2, 4.0 -; GCN: s_waitcnt expcnt(0) +; GCN-DAG: s_waitcnt expcnt(0) define amdgpu_vs { { float, i32 }, { i32, <2 x float> } } @structure_literal([9 x <16 x i8>] addrspace(4)* byval %arg, i32 inreg %arg1, i32 inreg %arg2, float %arg3) #0 { bb: call void @llvm.amdgcn.exp.f32(i32 0, i32 15, float %arg3, float %arg3, float %arg3, float %arg3, i1 true, i1 true) #0 Index: llvm/test/CodeGen/AMDGPU/salu-to-valu.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/salu-to-valu.ll +++ llvm/test/CodeGen/AMDGPU/salu-to-valu.ll @@ -170,12 +170,13 @@ ; CI. ; GCN-LABEL: {{^}}smrd_valu_ci_offset_x8: -; GCN-NOHSA: s_mov_b32 [[OFFSET0:s[0-9]+]], 0x9a40{{$}} +; GCN-NOHSA-DAG: s_mov_b32 [[OFFSET0:s[0-9]+]], 0x9a40{{$}} +; GCN-NOHSA-DAG: s_mov_b32 [[OFFSET1:s[0-9]+]], 0x9a50{{$}} +; GCN-NOHSA-DAG: buffer_load_dwordx4 v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s[{{[0-9]+:[0-9]+}}], [[OFFSET1]] addr64{{$}} +; GCN-NOHSA-DAG: buffer_load_dwordx4 v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s[{{[0-9]+:[0-9]+}}], [[OFFSET0]] addr64{{$}} ; GCN-NOHSA-NOT: v_add -; GCN-NOHSA: s_mov_b32 [[OFFSET1:s[0-9]+]], 0x9a50{{$}} ; GCN-NOHSA-NOT: v_add -; GCN-NOHSA: buffer_load_dwordx4 v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s[{{[0-9]+:[0-9]+}}], [[OFFSET1]] addr64{{$}} -; GCN-NOHSA: buffer_load_dwordx4 v{{\[[0-9]+:[0-9]+\]}}, v{{\[[0-9]+:[0-9]+\]}}, s[{{[0-9]+:[0-9]+}}], [[OFFSET0]] addr64{{$}} + ; GCN-NOHSA: v_or_b32_e32 {{v[0-9]+}}, {{s[0-9]+}}, {{v[0-9]+}} ; GCN-NOHSA: v_or_b32_e32 {{v[0-9]+}}, {{s[0-9]+}}, {{v[0-9]+}} Index: llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll +++ llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll @@ -136,9 +136,9 @@ ; FIXME: fabs should fold away ; GCN-LABEL: {{^}}add_select_fabs_negk_negk_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] -; GCN: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], -1.0, -2.0, s +; GCN-DAG: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], -1.0, -2.0, s ; GCN: v_add_f32_e64 v{{[0-9]+}}, |[[SELECT]]|, [[X]] define amdgpu_kernel void @add_select_fabs_negk_negk_f32(i32 %c) #0 { %x = load volatile float, float addrspace(1)* undef @@ -151,9 +151,9 @@ } ; GCN-LABEL: {{^}}add_select_posk_posk_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] -; GCN: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], 1.0, 2.0, s +; GCN-DAG: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], 1.0, 2.0, s ; GCN: v_add_f32_e32 v{{[0-9]+}}, [[SELECT]], [[X]] define amdgpu_kernel void @add_select_posk_posk_f32(i32 %c) #0 { %x = load volatile float, float addrspace(1)* undef @@ -184,8 +184,8 @@ } ; GCN-LABEL: {{^}}add_select_negliteralk_fabs_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] -; GCN: buffer_load_dword [[Y:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[Y:v[0-9]+]] ; GCN-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0xc4800000 ; GCN-DAG: v_and_b32_e32 [[FABS_X:v[0-9]+]], 0x7fffffff, [[X]] @@ -372,9 +372,9 @@ } ; GCN-LABEL: {{^}}add_select_fneg_inv2pi_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] -; GCN: buffer_load_dword [[Y:v[0-9]+]] -; GCN: v_mov_b32_e32 [[K:v[0-9]+]], 0xbe22f983 +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[Y:v[0-9]+]] +; GCN-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0xbe22f983 ; GCN: v_cndmask_b32_e32 [[SELECT:v[0-9]+]], [[K]], [[X]], vcc ; GCN: v_sub_f32_e32 v{{[0-9]+}}, [[Y]], [[SELECT]] @@ -390,9 +390,9 @@ } ; GCN-LABEL: {{^}}add_select_fneg_neginv2pi_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] -; GCN: buffer_load_dword [[Y:v[0-9]+]] -; SI: v_mov_b32_e32 [[K:v[0-9]+]], 0x3e22f983 +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[Y:v[0-9]+]] +; SI-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 0x3e22f983 ; SI: v_cndmask_b32_e32 [[SELECT:v[0-9]+]], [[K]], [[X]], vcc ; VI: v_cndmask_b32_e32 [[SELECT:v[0-9]+]], 0.15915494, [[X]], vcc @@ -410,10 +410,10 @@ } ; GCN-LABEL: {{^}}add_select_negk_negk_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] -; GCN: v_cmp_eq_u32_e64 -; GCN: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], -1.0, -2.0, s +; GCN-DAG: v_cmp_eq_u32_e64 +; GCN-DAG: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], -1.0, -2.0, s ; GCN: v_add_f32_e32 v{{[0-9]+}}, [[SELECT]], [[X]] define amdgpu_kernel void @add_select_negk_negk_f32(i32 %c) #0 { %x = load volatile float, float addrspace(1)* undef @@ -442,9 +442,9 @@ } ; GCN-LABEL: {{^}}add_select_fneg_negk_negk_f32: -; GCN: buffer_load_dword [[X:v[0-9]+]] +; GCN-DAG: buffer_load_dword [[X:v[0-9]+]] -; GCN: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], -1.0, -2.0, s +; GCN-DAG: v_cndmask_b32_e64 [[SELECT:v[0-9]+]], -1.0, -2.0, s ; GCN: v_sub_f32_e32 v{{[0-9]+}}, [[X]], [[SELECT]] define amdgpu_kernel void @add_select_fneg_negk_negk_f32(i32 %c) #0 { %x = load volatile float, float addrspace(1)* undef Index: llvm/test/CodeGen/AMDGPU/select-i1.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/select-i1.ll +++ llvm/test/CodeGen/AMDGPU/select-i1.ll @@ -1,5 +1,5 @@ -; RUN: llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN %s -; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefixes=GCN,GCN0 %s +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN1 %s ; FIXME: This should go in existing select.ll test, except the current testcase there is broken on GCN @@ -13,16 +13,33 @@ ret void } -; GCN-LABEL: {{^}}s_minmax_i1: -; GCN: s_load_dword [[LOAD:s[0-9]+]], -; GCN-DAG: s_lshr_b32 [[A:s[0-9]+]], [[LOAD]], 8 -; GCN-DAG: s_lshr_b32 [[B:s[0-9]+]], [[LOAD]], 16 -; GCN-DAG: s_and_b32 [[COND:s[0-9]+]], 1, [[LOAD]] -; GCN: v_mov_b32_e32 [[V_B:v[0-9]+]], [[B]] -; GCN: v_mov_b32_e32 [[V_A:v[0-9]+]], [[A]] -; GCN: v_cmp_eq_u32_e64 vcc, [[COND]], 1 -; GCN: v_cndmask_b32_e32 [[SEL:v[0-9]+]], [[V_B]], [[V_A]] -; GCN: v_and_b32_e32 v{{[0-9]+}}, 1, [[SEL]] +; FIXME: The GCNT should be sufficient here. + +; GCN0-LABEL: {{^}}s_minmax_i1: +; GCN0: s_load_dword [[LOAD:s[0-9]+]], +; GCN0-DAG: s_lshr_b32 [[A:s[0-9]+]], [[LOAD]], 8 +; GCN0-DAG: s_lshr_b32 [[B:s[0-9]+]], [[LOAD]], 16 +; GCN0-DAG: s_and_b32 [[COND:s[0-9]+]], 1, [[LOAD]] +; GCN0: v_mov_b32_e32 [[V_B:v[0-9]+]], [[B]] +; GCN0: v_mov_b32_e32 [[V_A:v[0-9]+]], [[A]] +; GCN0-DAG: v_cmp_eq_u32_e64 vcc, [[COND]], 1 +; GCN0: v_cndmask_b32_e32 [[SEL:v[0-9]+]], [[V_B]], [[V_A]] +; GCN0: v_and_b32_e32 v{{[0-9]+}}, 1, [[SEL]] + +; GCN1-LABEL: {{^}}s_minmax_i1: +; GCN1: s_load_dword [[LOAD:s[0-9]+]], +; GCN1-DAG: s_lshr_b32 [[A:s[0-9]+]], [[LOAD]], 8 +; GCN1-DAG: s_lshr_b32 [[B:s[0-9]+]], [[LOAD]], 16 +; GCN1-DAG: s_and_b32 [[COND:s[0-9]+]], 1, [[LOAD]] +; GCN1-DAG: v_mov_b32_e32 [[V_A:v[0-9]+]], [[A]] +; GCN1-DAG: v_mov_b32_e32 [[V_B:v[0-9]+]], [[B]] +; GCN1-DAG: v_cmp_eq_u32_e64 vcc, [[COND]], 1 +; GCN1: v_cndmask_b32_e32 [[SEL:v[0-9]+]], [[V_B]], [[V_A]] +; GCN1: v_and_b32_e32 v{{[0-9]+}}, 1, [[SEL]] + + + + define amdgpu_kernel void @s_minmax_i1(i1 addrspace(1)* %out, [8 x i32], i1 zeroext %cond, i1 zeroext %a, i1 zeroext %b) nounwind { %cmp = icmp slt i1 %cond, false %sel = select i1 %cmp, i1 %a, i1 %b Index: llvm/test/CodeGen/AMDGPU/setcc-opt.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/setcc-opt.ll +++ llvm/test/CodeGen/AMDGPU/setcc-opt.ll @@ -5,9 +5,9 @@ ; FUNC-LABEL: {{^}}sext_bool_icmp_eq_0: ; GCN-NOT: v_cmp ; GCN: v_cmp_ne_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT:buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN:buffer_store_byte [[RESULT]] +; GCN: s_endpgm ; EG: SETNE_INT * [[CMP:T[0-9]+]].[[CMPCHAN:[XYZW]]], KC0[2].Z, KC0[2].W ; EG: AND_INT T{{[0-9]+.[XYZW]}}, PS, 1 @@ -22,9 +22,9 @@ ; FUNC-LABEL: {{^}}sext_bool_icmp_ne_0: ; GCN-NOT: v_cmp ; GCN: v_cmp_ne_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] +; GCN: s_endpgm ; EG: SETNE_INT * [[CMP:T[0-9]+]].[[CMPCHAN:[XYZW]]], KC0[2].Z, KC0[2].W ; EG: AND_INT T{{[0-9]+.[XYZW]}}, PS, 1 @@ -39,9 +39,9 @@ ; FUNC-LABEL: {{^}}sext_bool_icmp_eq_neg1: ; GCN-NOT: v_cmp ; GCN: v_cmp_eq_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] +; GCN: s_endpgm define amdgpu_kernel void @sext_bool_icmp_eq_neg1(i1 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %icmp0 = icmp eq i32 %a, %b %ext = sext i1 %icmp0 to i32 @@ -53,9 +53,9 @@ ; FUNC-LABEL: {{^}}sext_bool_icmp_ne_neg1: ; GCN-NOT: v_cmp ; GCN: v_cmp_eq_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] +; GCN: s_endpgm define amdgpu_kernel void @sext_bool_icmp_ne_neg1(i1 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %icmp0 = icmp ne i32 %a, %b %ext = sext i1 %icmp0 to i32 @@ -67,9 +67,9 @@ ; FUNC-LABEL: {{^}}zext_bool_icmp_eq_0: ; GCN-NOT: v_cmp ; GCN: v_cmp_ne_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] +; GCN: s_endpgm define amdgpu_kernel void @zext_bool_icmp_eq_0(i1 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %icmp0 = icmp eq i32 %a, %b %ext = zext i1 %icmp0 to i32 @@ -81,9 +81,9 @@ ; FUNC-LABEL: {{^}}zext_bool_icmp_ne_0: ; GCN-NOT: v_cmp ; GCN: v_cmp_ne_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] +; GCN: s_endpgm define amdgpu_kernel void @zext_bool_icmp_ne_0(i1 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %icmp0 = icmp ne i32 %a, %b %ext = zext i1 %icmp0 to i32 @@ -95,9 +95,9 @@ ; FUNC-LABEL: {{^}}zext_bool_icmp_eq_1: ; GCN-NOT: v_cmp ; GCN: v_cmp_eq_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] -; GCN-NEXT: s_endpgm +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] +; GCN: s_endpgm define amdgpu_kernel void @zext_bool_icmp_eq_1(i1 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %icmp0 = icmp eq i32 %a, %b %ext = zext i1 %icmp0 to i32 @@ -109,8 +109,8 @@ ; FUNC-LABEL: {{^}}zext_bool_icmp_ne_1: ; GCN-NOT: v_cmp ; GCN: v_cmp_eq_u32_e32 vcc, -; GCN-NEXT: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc -; GCN-NEXT: buffer_store_byte [[RESULT]] +; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, 1, vcc +; GCN: buffer_store_byte [[RESULT]] define amdgpu_kernel void @zext_bool_icmp_ne_1(i1 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %icmp0 = icmp ne i32 %a, %b %ext = zext i1 %icmp0 to i32 Index: llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll +++ llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll @@ -107,8 +107,8 @@ ; SI: v_cmp_gt_i32_e64 [[PHI:s\[[0-9]+:[0-9]+\]]], 0, [[AVAL]] ; SI: ; %if -; SI: buffer_load_dword [[AVAL:v[0-9]+]] -; SI: v_cmp_eq_u32_e32 [[CMP_ELSE:vcc]], 0, [[AVAL]] +; SI-DAG: buffer_load_dword [[AVAL:v[0-9]+]] +; SI-DAG: v_cmp_eq_u32_e32 [[CMP_ELSE:vcc]], 0, [[AVAL]] ; SI-DAG: s_andn2_b64 [[PHI]], [[PHI]], exec ; SI-DAG: s_and_b64 [[TMP:s\[[0-9]+:[0-9]+\]]], [[CMP_ELSE]], exec ; SI: s_or_b64 [[PHI]], [[PHI]], [[TMP]] Index: llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll +++ llvm/test/CodeGen/AMDGPU/shift-and-i128-ubfe.ll @@ -27,9 +27,9 @@ ; GCN-DAG: buffer_load_dword [[VAL:v[0-9]+]], v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0 addr64 offset:4{{$}} ; GCN-DAG: v_mov_b32_e32 v[[ZERO0:[0-9]+]], 0{{$}} -; GCN: v_mov_b32_e32 v[[ZERO1:[0-9]+]], v[[ZERO0]]{{$}} -; GCN: v_mov_b32_e32 v[[ZERO2:[0-9]+]], v[[ZERO0]]{{$}} -; GCN: v_mov_b32_e32 v[[ZERO3:[0-9]+]], v[[ZERO0]]{{$}} +; GCN-DAG: v_mov_b32_e32 v[[ZERO1:[0-9]+]], v[[ZERO0]]{{$}} +; GCN-DAG: v_mov_b32_e32 v[[ZERO2:[0-9]+]], v[[ZERO0]]{{$}} +; GCN-DAG: v_mov_b32_e32 v[[ZERO3:[0-9]+]], v[[ZERO0]]{{$}} ; GCN-DAG: v_lshrrev_b32_e32 v[[SHIFT:[0-9]+]], 31, [[VAL]] ; GCN-DAG: buffer_store_dwordx4 v{{\[}}[[SHIFT]]:[[ZERO3]]{{\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0 addr64{{$}} @@ -72,9 +72,9 @@ ; GCN-DAG: buffer_load_dword [[VAL:v[0-9]+]], v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0 addr64 offset:12{{$}} ; GCN-DAG: v_mov_b32_e32 v[[ZERO0:[0-9]+]], 0{{$}} -; GCN: v_mov_b32_e32 v[[ZERO1:[0-9]+]], v[[ZERO0]]{{$}} -; GCN: v_mov_b32_e32 v[[ZERO2:[0-9]+]], v[[ZERO0]]{{$}} -; GCN: v_mov_b32_e32 v[[ZERO3:[0-9]+]], v[[ZERO0]]{{$}} +; GCN-DAG: v_mov_b32_e32 v[[ZERO1:[0-9]+]], v[[ZERO0]]{{$}} +; GCN-DAG: v_mov_b32_e32 v[[ZERO2:[0-9]+]], v[[ZERO0]]{{$}} +; GCN-DAG: v_mov_b32_e32 v[[ZERO3:[0-9]+]], v[[ZERO0]]{{$}} ; GCN-DAG: v_lshrrev_b32_e32 v[[SHIFT:[0-9]+]], 31, [[VAL]] ; GCN-DAG: buffer_store_dwordx4 v{{\[}}[[SHIFT]]:[[ZERO3]]{{\]}}, v{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, 0 addr64{{$}} Index: llvm/test/CodeGen/AMDGPU/sign_extend.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/sign_extend.ll +++ llvm/test/CodeGen/AMDGPU/sign_extend.ll @@ -65,7 +65,7 @@ ; GCN-LABEL: {{^}}s_sext_i1_to_i16: ; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1 -; GCN-NEXT: buffer_store_short [[RESULT]] +; GCN: buffer_store_short [[RESULT]] define amdgpu_kernel void @s_sext_i1_to_i16(i16 addrspace(1)* %out, i32 %a, i32 %b) nounwind { %cmp = icmp eq i32 %a, %b %sext = sext i1 %cmp to i16 @@ -79,7 +79,7 @@ ; is optimized to a select very early. ; GCN-LABEL: {{^}}s_sext_i1_to_i16_with_and: ; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1 -; GCN-NEXT: buffer_store_short [[RESULT]] +; GCN: buffer_store_short [[RESULT]] define amdgpu_kernel void @s_sext_i1_to_i16_with_and(i16 addrspace(1)* %out, i32 %a, i32 %b, i32 %c, i32 %d) nounwind { %cmp0 = icmp eq i32 %a, %b %cmp1 = icmp eq i32 %c, %d @@ -91,7 +91,7 @@ ; GCN-LABEL: {{^}}v_sext_i1_to_i16_with_and: ; GCN: v_cndmask_b32_e64 [[RESULT:v[0-9]+]], 0, -1 -; GCN-NEXT: buffer_store_short [[RESULT]] +; GCN: buffer_store_short [[RESULT]] define amdgpu_kernel void @v_sext_i1_to_i16_with_and(i16 addrspace(1)* %out, i32 %a, i32 %b, i32 %c) nounwind { %tid = tail call i32 @llvm.amdgcn.workitem.id.x() #1 %cmp0 = icmp eq i32 %a, %tid Index: llvm/test/CodeGen/AMDGPU/sub.i16.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/sub.i16.ll +++ llvm/test/CodeGen/AMDGPU/sub.i16.ll @@ -87,7 +87,7 @@ ; GCN-LABEL: {{^}}v_test_sub_i16_zext_to_i64: ; VI: flat_load_ushort [[A:v[0-9]+]] ; VI: flat_load_ushort [[B:v[0-9]+]] -; VI: v_mov_b32_e32 v[[VZERO:[0-9]+]], 0 +; VI-DAG: v_mov_b32_e32 v[[VZERO:[0-9]+]], 0 ; VI-DAG: v_sub_u16_e32 v[[ADD:[0-9]+]], [[A]], [[B]] ; VI: buffer_store_dwordx2 v{{\[}}[[ADD]]:[[VZERO]]{{\]}}, off, {{s\[[0-9]+:[0-9]+\]}}, 0{{$}} define amdgpu_kernel void @v_test_sub_i16_zext_to_i64(i64 addrspace(1)* %out, i16 addrspace(1)* %in0, i16 addrspace(1)* %in1) #1 { Index: llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot-compute.ll =================================================================== --- llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot-compute.ll +++ llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot-compute.ll @@ -22,25 +22,25 @@ ; MESA-NOT: s_mov_b32 s3 ; HSA-NOT: s_mov_b32 s7 -; GCNMESA-DAG: s_mov_b32 s12, SCRATCH_RSRC_DWORD0 -; GCNMESA-DAG: s_mov_b32 s13, SCRATCH_RSRC_DWORD1 -; GCNMESA-DAG: s_mov_b32 s14, -1 -; SIMESA-DAG: s_mov_b32 s15, 0xe8f000 -; VIMESA-DAG: s_mov_b32 s15, 0xe80000 -; GFX9MESA-DAG: s_mov_b32 s15, 0xe00000 +; GCNMESA-DAG: s_mov_b32 s[[LO:[0-9]+]], SCRATCH_RSRC_DWORD0 +; GCNMESA-DAG: s_mov_b32 s{{[0-9]+}}, SCRATCH_RSRC_DWORD1 +; GCNMESA-DAG: s_mov_b32 s{{[0-9]+}}, -1 +; SIMESA-DAG: s_mov_b32 s[[HI:[0-9]+]], 0xe8f000 +; VIMESA-DAG: s_mov_b32 s[[HI:[0-9]+]], 0xe80000 +; GFX9MESA-DAG: s_mov_b32 s[[HI:[0-9]+]], 0xe00000 -; GCNMESAMESA: buffer_store_dword {{v[0-9]+}}, off, s[12:15], s3 offset:{{[0-9]+}} ; 4-byte Folded Spill +; GCNMESAMESA: buffer_store_dword {{v[0-9]+}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} ; 4-byte Folded Spill -; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[12:15], s3 offset:{{[0-9]+}} -; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[12:15], s3 offset:{{[0-9]+}} -; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[12:15], s3 offset:{{[0-9]+}} -; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s[12:15], s3 offset:{{[0-9]+}} +; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} +; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} +; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} +; GCNMESA: buffer_store_dword {{v[0-9]}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} -; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[12:15], s3 offset:{{[0-9]+}} -; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[12:15], s3 offset:{{[0-9]+}} -; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[12:15], s3 offset:{{[0-9]+}} -; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s[12:15], s3 offset:{{[0-9]+}} +; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} +; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} +; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} +; GCNMESA: buffer_load_dword {{v[0-9]+}}, off, s{{\[}}[[LO]]:[[HI]]{{\]}}, s3 offset:{{[0-9]+}} Index: llvm/test/CodeGen/ARM/misched-fusion-lit.ll =================================================================== --- llvm/test/CodeGen/ARM/misched-fusion-lit.ll +++ llvm/test/CodeGen/ARM/misched-fusion-lit.ll @@ -13,7 +13,7 @@ ; CHECK-LABEL: litp: ; CHECK: movw [[R:r[0-9]+]], :lower16:litp -; CHECKDONT-NEXT: movw [[S:r[0-9]+]], :lower16:g +; CHECKDONT: movw [[S:r[0-9]+]], :lower16:g ; CHECKFUSE-NEXT: movt [[R]], :upper16:litp ; CHECKFUSE-NEXT: movw [[S:r[0-9]+]], :lower16:g ; CHECKFUSE-NEXT: movt [[S]], :upper16:g @@ -30,10 +30,10 @@ ; CHECK-LABEL: liti: ; CHECK: movw [[R:r[0-9]+]], #309 -; CHECKDONT-NEXT: add {{r[0-9]+}}, {{r[0-9]+}}, {{r[0-9]+}} -; CHECKFUSE-NEXT: movt [[R]], #1848 +; CHECKDONT: add {{r[0-9]+}}, {{r[0-9]+}}, {{r[0-9]+}} +; CHECKFUSE: movt [[R]], #1848 ; CHECKFUSE: movw [[S:r[0-9]+]], :lower16:g -; CHECKFUSE-NEXT: movt [[S]], :upper16:g -; CHECKFUSE-NEXT: movw [[T:r[0-9]+]], #48879 -; CHECKFUSE-NEXT: movt [[T]], #61536 +; CHECKFUSE: movt [[S]], :upper16:g +; CHECKFUSE: movw [[T:r[0-9]+]], #48879 +; CHECKFUSE: movt [[T]], #61536 } Index: llvm/test/CodeGen/PowerPC/fp128-bitcast-after-operation.ll =================================================================== --- llvm/test/CodeGen/PowerPC/fp128-bitcast-after-operation.ll +++ llvm/test/CodeGen/PowerPC/fp128-bitcast-after-operation.ll @@ -84,13 +84,13 @@ ; PPC64-DAG: stfd 1, [[OFFSET:-?[0-9]+]](1) ; PPC64-DAG: li [[HI_TMP:[0-9]+]], 16399 ; PPC64-DAG: li [[LO_TMP:[0-9]+]], 3019 -; PPC64-NOT: BARRIER ; PPC64-DAG: sldi [[CST_HI:[0-9]+]], [[HI_TMP]], 48 ; PPC64-DAG: sldi [[CST_LO:[0-9]+]], [[LO_TMP]], 52 ; PPC64-DAG: ld [[X_HI:[0-9]+]], [[OFFSET]](1) ; PPC64-DAG: rldicr [[NEW_HI_TMP:[0-9]+]], [[X_HI]], 0, 0 ; PPC64-DAG: or 3, [[NEW_HI_TMP]], [[CST_HI]] ; PPC64-DAG: xor 4, [[NEW_HI_TMP]], [[CST_LO]] +; PPC64-NOT: BARRIER ; PPC64: blr ; PPC64-P8-LABEL: test_copysign: Index: llvm/test/CodeGen/PowerPC/indirectbr.ll =================================================================== --- llvm/test/CodeGen/PowerPC/indirectbr.ll +++ llvm/test/CodeGen/PowerPC/indirectbr.ll @@ -74,10 +74,10 @@ ; PIC: lwz r[[R0:[0-9]+]], .LC0-.LTOC(r30) ; PIC-NEXT: lwz r[[R1:[0-9]+]], .LC2-.LTOC(r30) ; PIC-NEXT: stw r[[R1]], 0(r[[R0]]) -; STATIC: li r[[R0:[0-9]+]], .Ltmp0@l -; STATIC-NEXT: lis r[[R1:[0-9]+]], nextaddr@ha -; STATIC-NEXT: addis r[[R0]], r[[R0]], .Ltmp0@ha -; STATIC-NEXT: stw r[[R0]], nextaddr@l(r[[R1]] +; STATIC-DAG: li r[[R0:[0-9]+]], .Ltmp0@l +; STATIC-DAG: lis r[[R1:[0-9]+]], nextaddr@ha +; STATIC-DAG: addis r[[R0]], r[[R0]], .Ltmp0@ha +; STATIC: stw r[[R0]], nextaddr@l(r[[R1]] store i8* blockaddress(@foo, %L5), i8** @nextaddr, align 4 ret i32 %res.3 } Index: llvm/test/CodeGen/PowerPC/licm-remat.ll =================================================================== --- llvm/test/CodeGen/PowerPC/licm-remat.ll +++ llvm/test/CodeGen/PowerPC/licm-remat.ll @@ -20,11 +20,10 @@ define linkonce_odr void @ZN6snappyDecompressor_(%"class.snappy::SnappyDecompressor"* %this, %"class.snappy::SnappyIOVecWriter"* %writer) { ; CHECK-LABEL: ZN6snappyDecompressor_: ; CHECK: # %bb.0: # %entry -; CHECK: addis 3, 2, _ZN6snappy8internalL8wordmaskE@toc@ha +; CHECK-DAG: addis 3, 2, _ZN6snappy8internalL8wordmaskE@toc@ha ; CHECK-DAG: addi 25, 3, _ZN6snappy8internalL8wordmaskE@toc@l -; CHECK-DAG: addis 5, 2, _ZN6snappy8internalL10char_tableE@toc@ha -; CHECK-DAG: addi 24, 5, _ZN6snappy8internalL10char_tableE@toc@l -; CHECK: b .LBB0_2 +; CHECK-DAG: addis [[R:[0-9]+]], 2, _ZN6snappy8internalL10char_tableE@toc@ha +; CHECK-DAG: addi 24, [[R]], _ZN6snappy8internalL10char_tableE@toc@l ; CHECK: .LBB0_2: # %for.cond ; CHECK-NOT: addis {{[0-9]+}}, 2, _ZN6snappy8internalL8wordmaskE@toc@ha ; CHECK-NOT: addis {{[0-9]+}}, 2, _ZN6snappy8internalL10char_tableE@toc@ha Index: llvm/test/CodeGen/PowerPC/pr35688.ll =================================================================== --- llvm/test/CodeGen/PowerPC/pr35688.ll +++ llvm/test/CodeGen/PowerPC/pr35688.ll @@ -4,16 +4,21 @@ ; Function Attrs: nounwind define void @ec_GFp_nistp256_points_mul() { ; CHECK-LABEL: ec_GFp_nistp256_points_mul: -; CHECK: ld 5, 0(3) -; CHECK: li 3, 127 -; CHECK: li 4, 0 -; CHECK: subfic 6, 5, 0 -; CHECK: subfze 6, 4 -; CHECK: sradi 7, 6, 63 -; CHECK: srad 6, 6, 3 -; CHECK: subfc 5, 5, 7 -; CHECK: subfe 5, 4, 6 -; CHECK: sradi 5, 5, 63 +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: ld 5, 0(3) +; CHECK-NEXT: li 3, 127 +; CHECK-NEXT: li 4, 0 +; CHECK-NEXT: .p2align 5 +; CHECK-NEXT: .LBB0_1: # %fe_cmovznz.exit.i534.i.15 +; CHECK-NEXT: # +; CHECK-NEXT: subfic 6, 5, 0 +; CHECK-NEXT: subfze 6, 4 +; CHECK-NEXT: sradi 7, 6, 63 +; CHECK-NEXT: srad 6, 6, 3 +; CHECK-NEXT: subfc 5, 5, 7 +; CHECK-NEXT: subfe 5, 4, 6 +; CHECK-NEXT: sradi 5, 5, 63 +; CHECK-NEXT: b .LBB0_1 entry: br label %fe_cmovznz.exit.i534.i.15 Index: llvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll =================================================================== --- llvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll +++ llvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll @@ -40,9 +40,9 @@ ; CHECK-NEXT: ## =>This Inner Loop Header: Depth=1 ; CHECK-NEXT: xorl %eax, %eax ; CHECK-NEXT: callq _xxGetOffsetForCode +; CHECK-NEXT: movq %rbx, %rdi ; CHECK-NEXT: xorl %esi, %esi ; CHECK-NEXT: xorl %eax, %eax -; CHECK-NEXT: movq %rbx, %rdi ; CHECK-NEXT: callq _xxCalculateMidType ; CHECK-NEXT: cmpl $1, %eax ; CHECK-NEXT: jne LBB0_1 Index: llvm/test/CodeGen/X86/GlobalISel/callingconv.ll =================================================================== --- llvm/test/CodeGen/X86/GlobalISel/callingconv.ll +++ llvm/test/CodeGen/X86/GlobalISel/callingconv.ll @@ -3,15 +3,10 @@ ; RUN: llc -mtriple=x86_64-linux-gnu -global-isel -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=X64 define i32 @test_ret_i32() { -; X32-LABEL: test_ret_i32: -; X32: # %bb.0: -; X32-NEXT: movl $20, %eax -; X32-NEXT: retl -; -; X64-LABEL: test_ret_i32: -; X64: # %bb.0: -; X64-NEXT: movl $20, %eax -; X64-NEXT: retq +; ALL-LABEL: test_ret_i32: +; ALL: # %bb.0: +; ALL-NEXT: movl $20, %eax +; ALL-NEXT: ret{{[l|q]}} ret i32 20 } @@ -99,15 +94,10 @@ } define <4 x i32> @test_v4i32_args(<4 x i32> %arg1, <4 x i32> %arg2) { -; X32-LABEL: test_v4i32_args: -; X32: # %bb.0: -; X32-NEXT: movaps %xmm1, %xmm0 -; X32-NEXT: retl -; -; X64-LABEL: test_v4i32_args: -; X64: # %bb.0: -; X64-NEXT: movaps %xmm1, %xmm0 -; X64-NEXT: retq +; ALL-LABEL: test_v4i32_args: +; ALL: # %bb.0: +; ALL-NEXT: movaps %xmm1, %xmm0 +; ALL-NEXT: ret{{[l|q]}} ret <4 x i32> %arg2 } @@ -258,12 +248,12 @@ ; X32-NEXT: subl $44, %esp ; X32-NEXT: .cfi_def_cfa_offset 48 ; X32-NEXT: movaps %xmm0, (%esp) # 16-byte Spill -; X32-NEXT: movaps %xmm1, {{[0-9]+}}(%esp) # 16-byte Spill +; X32-NEXT: movaps %xmm1, {{[-0-9]+}}(%e{{[sb]}}p) # 16-byte Spill ; X32-NEXT: movdqa %xmm2, %xmm0 ; X32-NEXT: movdqu {{[0-9]+}}(%esp), %xmm1 ; X32-NEXT: calll split_return_callee ; X32-NEXT: paddd (%esp), %xmm0 # 16-byte Folded Reload -; X32-NEXT: paddd {{[0-9]+}}(%esp), %xmm1 # 16-byte Folded Reload +; X32-NEXT: paddd {{[-0-9]+}}(%e{{[sb]}}p), %xmm1 # 16-byte Folded Reload ; X32-NEXT: addl $44, %esp ; X32-NEXT: .cfi_def_cfa_offset 4 ; X32-NEXT: retl @@ -273,12 +263,12 @@ ; X64-NEXT: subq $40, %rsp ; X64-NEXT: .cfi_def_cfa_offset 48 ; X64-NEXT: movaps %xmm0, (%rsp) # 16-byte Spill -; X64-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp) # 16-byte Spill +; X64-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill ; X64-NEXT: movdqa %xmm2, %xmm0 ; X64-NEXT: movdqa %xmm3, %xmm1 ; X64-NEXT: callq split_return_callee ; X64-NEXT: paddd (%rsp), %xmm0 # 16-byte Folded Reload -; X64-NEXT: paddd {{[0-9]+}}(%rsp), %xmm1 # 16-byte Folded Reload +; X64-NEXT: paddd {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Folded Reload ; X64-NEXT: addq $40, %rsp ; X64-NEXT: .cfi_def_cfa_offset 8 ; X64-NEXT: retq Index: llvm/test/CodeGen/X86/abi-isel.ll =================================================================== --- llvm/test/CodeGen/X86/abi-isel.ll +++ llvm/test/CodeGen/X86/abi-isel.ll @@ -35,8 +35,8 @@ define void @foo00() nounwind { ; LINUX-64-STATIC-LABEL: foo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst(%rip) +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo00: @@ -53,9 +53,9 @@ ; ; LINUX-64-PIC-LABEL: foo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -86,25 +86,25 @@ ; ; DARWIN-64-STATIC-LABEL: foo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -118,8 +118,8 @@ define void @fxo00() nounwind { ; LINUX-64-STATIC-LABEL: fxo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, xdst(%rip) +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: fxo00: @@ -136,9 +136,9 @@ ; ; LINUX-64-PIC-LABEL: fxo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -169,25 +169,25 @@ ; ; DARWIN-64-STATIC-LABEL: fxo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: fxo00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: fxo00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -201,7 +201,7 @@ define void @foo01() nounwind { ; LINUX-64-STATIC-LABEL: foo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $dst, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq $dst, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo01: @@ -216,8 +216,8 @@ ; ; LINUX-64-PIC-LABEL: foo01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -245,22 +245,22 @@ ; ; DARWIN-64-STATIC-LABEL: foo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -272,7 +272,7 @@ define void @fxo01() nounwind { ; LINUX-64-STATIC-LABEL: fxo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $xdst, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq $xdst, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: fxo01: @@ -287,8 +287,8 @@ ; ; LINUX-64-PIC-LABEL: fxo01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -316,22 +316,22 @@ ; ; DARWIN-64-STATIC-LABEL: fxo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: fxo01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: fxo01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -343,8 +343,8 @@ define void @foo02() nounwind { ; LINUX-64-STATIC-LABEL: foo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -364,9 +364,9 @@ ; ; LINUX-64-PIC-LABEL: foo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -401,27 +401,27 @@ ; ; DARWIN-64-STATIC-LABEL: foo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -436,8 +436,8 @@ define void @fxo02() nounwind { ; LINUX-64-STATIC-LABEL: fxo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -457,9 +457,9 @@ ; ; LINUX-64-PIC-LABEL: fxo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -494,27 +494,27 @@ ; ; DARWIN-64-STATIC-LABEL: fxo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: fxo02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: fxo02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -529,8 +529,8 @@ define void @foo03() nounwind { ; LINUX-64-STATIC-LABEL: foo03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst(%rip) +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo03: @@ -547,9 +547,9 @@ ; ; LINUX-64-PIC-LABEL: foo03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -576,20 +576,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst(%rip) +; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst(%rip) +; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -601,7 +601,7 @@ define void @foo04() nounwind { ; LINUX-64-STATIC-LABEL: foo04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo04: @@ -616,8 +616,8 @@ ; ; LINUX-64-PIC-LABEL: foo04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -642,20 +642,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -666,8 +666,8 @@ define void @foo05() nounwind { ; LINUX-64-STATIC-LABEL: foo05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -687,9 +687,9 @@ ; ; LINUX-64-PIC-LABEL: foo05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -720,22 +720,22 @@ ; ; DARWIN-64-STATIC-LABEL: foo05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -749,8 +749,8 @@ define void @foo06() nounwind { ; LINUX-64-STATIC-LABEL: foo06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst(%rip) +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo06: @@ -767,8 +767,8 @@ ; ; LINUX-64-PIC-LABEL: foo06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst(%rip) +; LINUX-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo06: @@ -794,20 +794,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst(%rip) +; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst(%rip) +; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -819,7 +819,7 @@ define void @foo07() nounwind { ; LINUX-64-STATIC-LABEL: foo07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo07: @@ -834,8 +834,8 @@ ; ; LINUX-64-PIC-LABEL: foo07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo07: @@ -859,20 +859,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -883,8 +883,8 @@ define void @foo08() nounwind { ; LINUX-64-STATIC-LABEL: foo08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -904,8 +904,8 @@ ; ; LINUX-64-PIC-LABEL: foo08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -935,22 +935,22 @@ ; ; DARWIN-64-STATIC-LABEL: foo08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -964,8 +964,8 @@ define void @qux00() nounwind { ; LINUX-64-STATIC-LABEL: qux00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst+64(%rip) +; LINUX-64-STATIC-NEXT: movl src+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, dst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux00: @@ -982,9 +982,9 @@ ; ; LINUX-64-PIC-LABEL: qux00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1015,25 +1015,25 @@ ; ; DARWIN-64-STATIC-LABEL: qux00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1046,8 +1046,8 @@ define void @qxx00() nounwind { ; LINUX-64-STATIC-LABEL: qxx00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, xdst+64(%rip) +; LINUX-64-STATIC-NEXT: movl xsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, xdst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qxx00: @@ -1064,9 +1064,9 @@ ; ; LINUX-64-PIC-LABEL: qxx00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1097,25 +1097,25 @@ ; ; DARWIN-64-STATIC-LABEL: qxx00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qxx00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qxx00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1128,7 +1128,7 @@ define void @qux01() nounwind { ; LINUX-64-STATIC-LABEL: qux01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $dst+64, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq $dst+64, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux01: @@ -1143,9 +1143,9 @@ ; ; LINUX-64-PIC-LABEL: qux01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1175,25 +1175,25 @@ ; ; DARWIN-64-STATIC-LABEL: qux01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1205,7 +1205,7 @@ define void @qxx01() nounwind { ; LINUX-64-STATIC-LABEL: qxx01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $xdst+64, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq $xdst+64, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qxx01: @@ -1220,9 +1220,9 @@ ; ; LINUX-64-PIC-LABEL: qxx01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1252,25 +1252,25 @@ ; ; DARWIN-64-STATIC-LABEL: qxx01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qxx01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qxx01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1282,8 +1282,8 @@ define void @qux02() nounwind { ; LINUX-64-STATIC-LABEL: qux02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl src+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1303,9 +1303,9 @@ ; ; LINUX-64-PIC-LABEL: qux02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1340,27 +1340,27 @@ ; ; DARWIN-64-STATIC-LABEL: qux02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1376,8 +1376,8 @@ define void @qxx02() nounwind { ; LINUX-64-STATIC-LABEL: qxx02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl xsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1397,9 +1397,9 @@ ; ; LINUX-64-PIC-LABEL: qxx02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1434,27 +1434,27 @@ ; ; DARWIN-64-STATIC-LABEL: qxx02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qxx02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qxx02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1470,8 +1470,8 @@ define void @qux03() nounwind { ; LINUX-64-STATIC-LABEL: qux03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst+64(%rip) +; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ddst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux03: @@ -1488,9 +1488,9 @@ ; ; LINUX-64-PIC-LABEL: qux03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1517,20 +1517,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+64(%rip) +; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+64(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst+64(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1542,7 +1542,7 @@ define void @qux04() nounwind { ; LINUX-64-STATIC-LABEL: qux04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst+64, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst+64, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux04: @@ -1557,9 +1557,9 @@ ; ; LINUX-64-PIC-LABEL: qux04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1584,20 +1584,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+64(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+64(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1608,8 +1608,8 @@ define void @qux05() nounwind { ; LINUX-64-STATIC-LABEL: qux05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1629,9 +1629,9 @@ ; ; LINUX-64-PIC-LABEL: qux05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1662,22 +1662,22 @@ ; ; DARWIN-64-STATIC-LABEL: qux05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1692,8 +1692,8 @@ define void @qux06() nounwind { ; LINUX-64-STATIC-LABEL: qux06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst+64(%rip) +; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ldst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux06: @@ -1710,8 +1710,8 @@ ; ; LINUX-64-PIC-LABEL: qux06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst+64(%rip) +; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, ldst+{{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux06: @@ -1737,20 +1737,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+64(%rip) +; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+64(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst+64(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1762,7 +1762,7 @@ define void @qux07() nounwind { ; LINUX-64-STATIC-LABEL: qux07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst+64, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst+64, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux07: @@ -1777,8 +1777,8 @@ ; ; LINUX-64-PIC-LABEL: qux07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux07: @@ -1802,20 +1802,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+64(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+64(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1826,8 +1826,8 @@ define void @qux08() nounwind { ; LINUX-64-STATIC-LABEL: qux08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1847,8 +1847,8 @@ ; ; LINUX-64-PIC-LABEL: qux08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1878,22 +1878,22 @@ ; ; DARWIN-64-STATIC-LABEL: qux08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1928,9 +1928,9 @@ ; ; LINUX-64-PIC-LABEL: ind00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -1964,25 +1964,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2017,9 +2017,9 @@ ; ; LINUX-64-PIC-LABEL: ixd00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2053,25 +2053,25 @@ ; ; DARWIN-64-STATIC-LABEL: ixd00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ixd00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ixd00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2087,7 +2087,7 @@ ; LINUX-64-STATIC-LABEL: ind01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq dst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind01: @@ -2107,8 +2107,8 @@ ; LINUX-64-PIC-LABEL: ind01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rdi -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rdi +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2143,24 +2143,24 @@ ; DARWIN-64-STATIC-LABEL: ind01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: shlq $2, %rdi -; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rdi +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: shlq $2, %rdi -; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rdi +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: shlq $2, %rdi -; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rdi +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-PIC-NEXT: retq @@ -2174,7 +2174,7 @@ ; LINUX-64-STATIC-LABEL: ixd01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq xdst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ixd01: @@ -2194,8 +2194,8 @@ ; LINUX-64-PIC-LABEL: ixd01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq xdst@{{.*}}(%rip), %rdi +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2230,24 +2230,24 @@ ; DARWIN-64-STATIC-LABEL: ixd01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: shlq $2, %rdi -; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ixd01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: shlq $2, %rdi -; DARWIN-64-DYNAMIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ixd01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: shlq $2, %rdi -; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-PIC-NEXT: retq @@ -2261,7 +2261,7 @@ ; LINUX-64-STATIC-LABEL: ind02: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl src(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2283,9 +2283,9 @@ ; ; LINUX-64-PIC-LABEL: ind02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2323,27 +2323,27 @@ ; ; DARWIN-64-STATIC-LABEL: ind02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2361,7 +2361,7 @@ ; LINUX-64-STATIC-LABEL: ixd02: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl xsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2383,9 +2383,9 @@ ; ; LINUX-64-PIC-LABEL: ixd02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2423,27 +2423,27 @@ ; ; DARWIN-64-STATIC-LABEL: ixd02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ixd02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ixd02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2480,9 +2480,9 @@ ; ; LINUX-64-PIC-LABEL: ind03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2512,25 +2512,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2546,7 +2546,7 @@ ; LINUX-64-STATIC-LABEL: ind04: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ddst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind04: @@ -2566,8 +2566,8 @@ ; LINUX-64-PIC-LABEL: ind04: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rdi -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq ddst@{{.*}}(%rip), %rdi +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2597,23 +2597,23 @@ ; ; DARWIN-64-STATIC-LABEL: ind04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -2626,7 +2626,7 @@ ; LINUX-64-STATIC-LABEL: ind05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl dsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2648,9 +2648,9 @@ ; ; LINUX-64-PIC-LABEL: ind05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2684,25 +2684,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2738,9 +2738,9 @@ ; ; LINUX-64-PIC-LABEL: ind06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2770,25 +2770,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2804,7 +2804,7 @@ ; LINUX-64-STATIC-LABEL: ind07: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ldst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind07: @@ -2823,9 +2823,9 @@ ; ; LINUX-64-PIC-LABEL: ind07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: ind07: @@ -2854,23 +2854,23 @@ ; ; DARWIN-64-STATIC-LABEL: ind07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -2883,7 +2883,7 @@ ; LINUX-64-STATIC-LABEL: ind08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl lsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2905,9 +2905,9 @@ ; ; LINUX-64-PIC-LABEL: ind08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2940,25 +2940,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2994,9 +2994,9 @@ ; ; LINUX-64-PIC-LABEL: off00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3030,25 +3030,25 @@ ; ; DARWIN-64-STATIC-LABEL: off00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3084,9 +3084,9 @@ ; ; LINUX-64-PIC-LABEL: oxf00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3120,25 +3120,25 @@ ; ; DARWIN-64-STATIC-LABEL: oxf00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: oxf00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: oxf00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3155,7 +3155,7 @@ ; LINUX-64-STATIC-LABEL: off01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq dst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off01: @@ -3174,9 +3174,9 @@ ; ; LINUX-64-PIC-LABEL: off01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3210,25 +3210,25 @@ ; ; DARWIN-64-STATIC-LABEL: off01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -3243,7 +3243,7 @@ ; LINUX-64-STATIC-LABEL: oxf01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq xdst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: oxf01: @@ -3262,9 +3262,9 @@ ; ; LINUX-64-PIC-LABEL: oxf01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3298,25 +3298,25 @@ ; ; DARWIN-64-STATIC-LABEL: oxf01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: oxf01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: oxf01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -3331,7 +3331,7 @@ ; LINUX-64-STATIC-LABEL: off02: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl src+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3353,9 +3353,9 @@ ; ; LINUX-64-PIC-LABEL: off02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3393,27 +3393,27 @@ ; ; DARWIN-64-STATIC-LABEL: off02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3432,7 +3432,7 @@ ; LINUX-64-STATIC-LABEL: oxf02: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl xsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3454,9 +3454,9 @@ ; ; LINUX-64-PIC-LABEL: oxf02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3494,27 +3494,27 @@ ; ; DARWIN-64-STATIC-LABEL: oxf02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: oxf02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: oxf02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3552,9 +3552,9 @@ ; ; LINUX-64-PIC-LABEL: off03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3584,25 +3584,25 @@ ; ; DARWIN-64-STATIC-LABEL: off03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3619,7 +3619,7 @@ ; LINUX-64-STATIC-LABEL: off04: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ddst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off04: @@ -3638,9 +3638,9 @@ ; ; LINUX-64-PIC-LABEL: off04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3670,23 +3670,23 @@ ; ; DARWIN-64-STATIC-LABEL: off04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -3700,7 +3700,7 @@ ; LINUX-64-STATIC-LABEL: off05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl dsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3722,9 +3722,9 @@ ; ; LINUX-64-PIC-LABEL: off05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3758,25 +3758,25 @@ ; ; DARWIN-64-STATIC-LABEL: off05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3813,9 +3813,9 @@ ; ; LINUX-64-PIC-LABEL: off06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3845,25 +3845,25 @@ ; ; DARWIN-64-STATIC-LABEL: off06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3880,7 +3880,7 @@ ; LINUX-64-STATIC-LABEL: off07: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ldst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off07: @@ -3899,9 +3899,9 @@ ; ; LINUX-64-PIC-LABEL: off07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: off07: @@ -3930,23 +3930,23 @@ ; ; DARWIN-64-STATIC-LABEL: off07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -3960,7 +3960,7 @@ ; LINUX-64-STATIC-LABEL: off08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl lsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3982,9 +3982,9 @@ ; ; LINUX-64-PIC-LABEL: off08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4017,25 +4017,25 @@ ; ; DARWIN-64-STATIC-LABEL: off08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4052,8 +4052,8 @@ define void @moo00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst+262144(%rip) +; LINUX-64-STATIC-NEXT: movl src+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, dst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo00: @@ -4070,9 +4070,9 @@ ; ; LINUX-64-PIC-LABEL: moo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4103,25 +4103,25 @@ ; ; DARWIN-64-STATIC-LABEL: moo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4134,7 +4134,7 @@ define void @moo01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $dst+262144, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq $dst+262144, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo01: @@ -4150,8 +4150,8 @@ ; LINUX-64-PIC-LABEL: moo01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4182,24 +4182,24 @@ ; DARWIN-64-STATIC-LABEL: moo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4211,8 +4211,8 @@ define void @moo02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl src+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4232,9 +4232,9 @@ ; ; LINUX-64-PIC-LABEL: moo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -4269,27 +4269,27 @@ ; ; DARWIN-64-STATIC-LABEL: moo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4305,8 +4305,8 @@ define void @moo03(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst+262144(%rip) +; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ddst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo03: @@ -4323,9 +4323,9 @@ ; ; LINUX-64-PIC-LABEL: moo03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4352,20 +4352,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+262144(%rip) +; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+262144(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst+262144(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4377,7 +4377,7 @@ define void @moo04(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst+262144, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst+262144, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo04: @@ -4393,8 +4393,8 @@ ; LINUX-64-PIC-LABEL: moo04: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: addq ddst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4419,20 +4419,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+262144(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+262144(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4443,8 +4443,8 @@ define void @moo05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4464,9 +4464,9 @@ ; ; LINUX-64-PIC-LABEL: moo05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -4497,22 +4497,22 @@ ; ; DARWIN-64-STATIC-LABEL: moo05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4527,8 +4527,8 @@ define void @moo06(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst+262144(%rip) +; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ldst+{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo06: @@ -4545,8 +4545,8 @@ ; ; LINUX-64-PIC-LABEL: moo06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst+262144(%rip) +; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, ldst+{{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo06: @@ -4572,20 +4572,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+262144(%rip) +; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+262144(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst+262144(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4597,7 +4597,7 @@ define void @moo07(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst+262144, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst+262144, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo07: @@ -4612,8 +4612,8 @@ ; ; LINUX-64-PIC-LABEL: moo07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo07: @@ -4637,20 +4637,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+262144(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+262144(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4661,8 +4661,8 @@ define void @moo08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4682,8 +4682,8 @@ ; ; LINUX-64-PIC-LABEL: moo08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4713,22 +4713,22 @@ ; ; DARWIN-64-STATIC-LABEL: moo08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4763,9 +4763,9 @@ ; ; LINUX-64-PIC-LABEL: big00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4799,25 +4799,25 @@ ; ; DARWIN-64-STATIC-LABEL: big00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4834,7 +4834,7 @@ ; LINUX-64-STATIC-LABEL: big01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq dst+262144(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big01: @@ -4853,9 +4853,9 @@ ; ; LINUX-64-PIC-LABEL: big01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4889,25 +4889,25 @@ ; ; DARWIN-64-STATIC-LABEL: big01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4922,7 +4922,7 @@ ; LINUX-64-STATIC-LABEL: big02: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl src+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -4944,9 +4944,9 @@ ; ; LINUX-64-PIC-LABEL: big02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -4984,27 +4984,27 @@ ; ; DARWIN-64-STATIC-LABEL: big02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5042,9 +5042,9 @@ ; ; LINUX-64-PIC-LABEL: big03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5074,25 +5074,25 @@ ; ; DARWIN-64-STATIC-LABEL: big03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5109,7 +5109,7 @@ ; LINUX-64-STATIC-LABEL: big04: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ddst+262144(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big04: @@ -5128,9 +5128,9 @@ ; ; LINUX-64-PIC-LABEL: big04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -5160,23 +5160,23 @@ ; ; DARWIN-64-STATIC-LABEL: big04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5190,7 +5190,7 @@ ; LINUX-64-STATIC-LABEL: big05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl dsrc+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5212,9 +5212,9 @@ ; ; LINUX-64-PIC-LABEL: big05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -5248,25 +5248,25 @@ ; ; DARWIN-64-STATIC-LABEL: big05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5303,9 +5303,9 @@ ; ; LINUX-64-PIC-LABEL: big06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5335,25 +5335,25 @@ ; ; DARWIN-64-STATIC-LABEL: big06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5370,7 +5370,7 @@ ; LINUX-64-STATIC-LABEL: big07: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ldst+262144(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big07: @@ -5389,9 +5389,9 @@ ; ; LINUX-64-PIC-LABEL: big07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: big07: @@ -5420,23 +5420,23 @@ ; ; DARWIN-64-STATIC-LABEL: big07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5450,7 +5450,7 @@ ; LINUX-64-STATIC-LABEL: big08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl lsrc+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5472,9 +5472,9 @@ ; ; LINUX-64-PIC-LABEL: big08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5507,25 +5507,25 @@ ; ; DARWIN-64-STATIC-LABEL: big08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5557,7 +5557,7 @@ ; ; LINUX-64-PIC-LABEL: bar00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar00: @@ -5580,17 +5580,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5615,7 +5615,7 @@ ; ; LINUX-64-PIC-LABEL: bxr00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxr00: @@ -5638,17 +5638,17 @@ ; ; DARWIN-64-STATIC-LABEL: bxr00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxr00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxr00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5673,7 +5673,7 @@ ; ; LINUX-64-PIC-LABEL: bar01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar01: @@ -5696,17 +5696,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5731,7 +5731,7 @@ ; ; LINUX-64-PIC-LABEL: bxr01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxr01: @@ -5754,17 +5754,17 @@ ; ; DARWIN-64-STATIC-LABEL: bxr01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxr01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxr01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5789,7 +5789,7 @@ ; ; LINUX-64-PIC-LABEL: bar02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar02: @@ -5812,17 +5812,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5847,7 +5847,7 @@ ; ; LINUX-64-PIC-LABEL: bar03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar03: @@ -5870,17 +5870,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5905,7 +5905,7 @@ ; ; LINUX-64-PIC-LABEL: bar04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar04: @@ -5928,17 +5928,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -5963,7 +5963,7 @@ ; ; LINUX-64-PIC-LABEL: bar05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar05: @@ -5986,17 +5986,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6021,7 +6021,7 @@ ; ; LINUX-64-PIC-LABEL: bar06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar06: @@ -6044,17 +6044,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6079,7 +6079,7 @@ ; ; LINUX-64-PIC-LABEL: bar07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar07: @@ -6102,17 +6102,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6137,7 +6137,7 @@ ; ; LINUX-64-PIC-LABEL: bar08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar08: @@ -6160,17 +6160,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6195,7 +6195,7 @@ ; ; LINUX-64-PIC-LABEL: har00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har00: @@ -6218,17 +6218,17 @@ ; ; DARWIN-64-STATIC-LABEL: har00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6253,7 +6253,7 @@ ; ; LINUX-64-PIC-LABEL: hxr00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: hxr00: @@ -6276,17 +6276,17 @@ ; ; DARWIN-64-STATIC-LABEL: hxr00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: hxr00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: hxr00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6311,7 +6311,7 @@ ; ; LINUX-64-PIC-LABEL: har01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har01: @@ -6334,17 +6334,17 @@ ; ; DARWIN-64-STATIC-LABEL: har01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6369,7 +6369,7 @@ ; ; LINUX-64-PIC-LABEL: hxr01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: hxr01: @@ -6392,17 +6392,17 @@ ; ; DARWIN-64-STATIC-LABEL: hxr01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: hxr01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: hxr01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6412,7 +6412,7 @@ define i8* @har02() nounwind { ; LINUX-64-STATIC-LABEL: har02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har02: @@ -6427,7 +6427,7 @@ ; ; LINUX-64-PIC-LABEL: har02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -6453,19 +6453,19 @@ ; ; DARWIN-64-STATIC-LABEL: har02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: retq @@ -6493,7 +6493,7 @@ ; ; LINUX-64-PIC-LABEL: har03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har03: @@ -6516,17 +6516,17 @@ ; ; DARWIN-64-STATIC-LABEL: har03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6551,7 +6551,7 @@ ; ; LINUX-64-PIC-LABEL: har04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har04: @@ -6574,17 +6574,17 @@ ; ; DARWIN-64-STATIC-LABEL: har04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6594,7 +6594,7 @@ define i8* @har05() nounwind { ; LINUX-64-STATIC-LABEL: har05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har05: @@ -6609,7 +6609,7 @@ ; ; LINUX-64-PIC-LABEL: har05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -6633,17 +6633,17 @@ ; ; DARWIN-64-STATIC-LABEL: har05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6670,7 +6670,7 @@ ; ; LINUX-64-PIC-LABEL: har06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har06: @@ -6693,17 +6693,17 @@ ; ; DARWIN-64-STATIC-LABEL: har06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6728,7 +6728,7 @@ ; ; LINUX-64-PIC-LABEL: har07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har07: @@ -6751,17 +6751,17 @@ ; ; DARWIN-64-STATIC-LABEL: har07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6771,7 +6771,7 @@ define i8* @har08() nounwind { ; LINUX-64-STATIC-LABEL: har08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har08: @@ -6786,7 +6786,7 @@ ; ; LINUX-64-PIC-LABEL: har08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har08: @@ -6809,17 +6809,17 @@ ; ; DARWIN-64-STATIC-LABEL: har08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6846,7 +6846,7 @@ ; ; LINUX-64-PIC-LABEL: bat00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -6872,19 +6872,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -6910,7 +6910,7 @@ ; ; LINUX-64-PIC-LABEL: bxt00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -6936,19 +6936,19 @@ ; ; DARWIN-64-STATIC-LABEL: bxt00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxt00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxt00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -6974,7 +6974,7 @@ ; ; LINUX-64-PIC-LABEL: bat01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7000,19 +7000,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7038,7 +7038,7 @@ ; ; LINUX-64-PIC-LABEL: bxt01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7064,19 +7064,19 @@ ; ; DARWIN-64-STATIC-LABEL: bxt01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxt01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxt01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7087,7 +7087,7 @@ define i8* @bat02() nounwind { ; LINUX-64-STATIC-LABEL: bat02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7105,7 +7105,7 @@ ; ; LINUX-64-PIC-LABEL: bat02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq @@ -7135,21 +7135,21 @@ ; ; DARWIN-64-STATIC-LABEL: bat02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7179,7 +7179,7 @@ ; ; LINUX-64-PIC-LABEL: bat03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7203,17 +7203,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7238,7 +7238,7 @@ ; ; LINUX-64-PIC-LABEL: bat04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7262,17 +7262,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7282,7 +7282,7 @@ define i8* @bat05() nounwind { ; LINUX-64-STATIC-LABEL: bat05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7300,7 +7300,7 @@ ; ; LINUX-64-PIC-LABEL: bat05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq @@ -7328,19 +7328,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7369,7 +7369,7 @@ ; ; LINUX-64-PIC-LABEL: bat06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc+64(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat06: @@ -7392,17 +7392,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7427,7 +7427,7 @@ ; ; LINUX-64-PIC-LABEL: bat07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat07: @@ -7450,17 +7450,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7470,7 +7470,7 @@ define i8* @bat08() nounwind { ; LINUX-64-STATIC-LABEL: bat08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7488,7 +7488,7 @@ ; ; LINUX-64-PIC-LABEL: bat08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7515,19 +7515,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7557,7 +7557,7 @@ ; LINUX-64-PIC-LABEL: bam00: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam00: @@ -7583,19 +7583,19 @@ ; DARWIN-64-STATIC-LABEL: bam00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam00: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7621,7 +7621,7 @@ ; LINUX-64-PIC-LABEL: bam01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam01: @@ -7647,19 +7647,19 @@ ; DARWIN-64-STATIC-LABEL: bam01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7685,7 +7685,7 @@ ; LINUX-64-PIC-LABEL: bxm01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxm01: @@ -7711,19 +7711,19 @@ ; DARWIN-64-STATIC-LABEL: bxm01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxm01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxm01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7734,7 +7734,7 @@ ; LINUX-64-STATIC-LABEL: bam02: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq ptr(%rip), %rax +; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam02: @@ -7826,7 +7826,7 @@ ; LINUX-64-PIC-LABEL: bam03: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam03: @@ -7849,17 +7849,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7885,7 +7885,7 @@ ; LINUX-64-PIC-LABEL: bam04: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam04: @@ -7908,17 +7908,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7929,7 +7929,7 @@ ; LINUX-64-STATIC-LABEL: bam05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam05: @@ -7975,19 +7975,19 @@ ; DARWIN-64-STATIC-LABEL: bam05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam05: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8015,7 +8015,7 @@ ; ; LINUX-64-PIC-LABEL: bam06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc+262144(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam06: @@ -8038,17 +8038,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8073,7 +8073,7 @@ ; ; LINUX-64-PIC-LABEL: bam07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam07: @@ -8096,17 +8096,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8117,7 +8117,7 @@ ; LINUX-64-STATIC-LABEL: bam08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam08: @@ -8135,7 +8135,7 @@ ; LINUX-64-PIC-LABEL: bam08: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam08: @@ -8162,19 +8162,19 @@ ; DARWIN-64-STATIC-LABEL: bam08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam08: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8204,7 +8204,7 @@ ; ; LINUX-64-PIC-LABEL: cat00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8233,19 +8233,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8276,7 +8276,7 @@ ; ; LINUX-64-PIC-LABEL: cxt00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8305,19 +8305,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxt00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxt00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxt00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8348,7 +8348,7 @@ ; ; LINUX-64-PIC-LABEL: cat01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8377,19 +8377,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8420,7 +8420,7 @@ ; ; LINUX-64-PIC-LABEL: cxt01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8449,19 +8449,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxt01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxt01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxt01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8475,7 +8475,7 @@ define i8* @cat02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8495,7 +8495,7 @@ ; ; LINUX-64-PIC-LABEL: cat02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -8528,21 +8528,21 @@ ; ; DARWIN-64-STATIC-LABEL: cat02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8575,7 +8575,7 @@ ; ; LINUX-64-PIC-LABEL: cat03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8602,19 +8602,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8645,7 +8645,7 @@ ; ; LINUX-64-PIC-LABEL: cat04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8672,19 +8672,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8698,7 +8698,7 @@ define i8* @cat05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8718,7 +8718,7 @@ ; ; LINUX-64-PIC-LABEL: cat05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -8749,19 +8749,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8793,7 +8793,7 @@ ; ; LINUX-64-PIC-LABEL: cat06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8820,19 +8820,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8863,7 +8863,7 @@ ; ; LINUX-64-PIC-LABEL: cat07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8890,19 +8890,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8916,7 +8916,7 @@ define i8* @cat08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8936,7 +8936,7 @@ ; ; LINUX-64-PIC-LABEL: cat08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8966,19 +8966,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9010,7 +9010,7 @@ ; ; LINUX-64-PIC-LABEL: cam00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9039,19 +9039,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9082,7 +9082,7 @@ ; ; LINUX-64-PIC-LABEL: cxm00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9111,19 +9111,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxm00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxm00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxm00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9154,7 +9154,7 @@ ; ; LINUX-64-PIC-LABEL: cam01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9183,19 +9183,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9226,7 +9226,7 @@ ; ; LINUX-64-PIC-LABEL: cxm01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9255,19 +9255,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxm01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxm01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxm01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9281,7 +9281,7 @@ define i8* @cam02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9301,7 +9301,7 @@ ; ; LINUX-64-PIC-LABEL: cam02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -9334,21 +9334,21 @@ ; ; DARWIN-64-STATIC-LABEL: cam02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9381,7 +9381,7 @@ ; ; LINUX-64-PIC-LABEL: cam03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9408,19 +9408,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9451,7 +9451,7 @@ ; ; LINUX-64-PIC-LABEL: cam04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9478,19 +9478,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9504,7 +9504,7 @@ define i8* @cam05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9524,7 +9524,7 @@ ; ; LINUX-64-PIC-LABEL: cam05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -9555,19 +9555,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9599,7 +9599,7 @@ ; ; LINUX-64-PIC-LABEL: cam06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9626,19 +9626,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9669,7 +9669,7 @@ ; ; LINUX-64-PIC-LABEL: cam07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9696,19 +9696,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9722,7 +9722,7 @@ define i8* @cam08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9742,7 +9742,7 @@ ; ; LINUX-64-PIC-LABEL: cam08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9772,19 +9772,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10102,7 +10102,7 @@ ; ; LINUX-64-PIC-LABEL: address: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq callee@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq callee@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: address: @@ -10125,17 +10125,17 @@ ; ; DARWIN-64-STATIC-LABEL: address: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _callee@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _callee@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: address: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _callee@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _callee@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: address: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _callee@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _callee@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -10162,7 +10162,7 @@ ; ; LINUX-64-PIC-LABEL: laddress: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lcallee@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq lcallee@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: laddress: @@ -10185,17 +10185,17 @@ ; ; DARWIN-64-STATIC-LABEL: laddress: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lcallee(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: laddress: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lcallee(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: laddress: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lcallee(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -10220,7 +10220,7 @@ ; ; LINUX-64-PIC-LABEL: daddress: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq dcallee(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: daddress: @@ -10243,17 +10243,17 @@ ; ; DARWIN-64-STATIC-LABEL: daddress: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dcallee(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: daddress: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dcallee(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: daddress: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dcallee(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -10753,8 +10753,8 @@ ; LINUX-64-STATIC-LABEL: icaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10777,7 +10777,7 @@ ; LINUX-64-PIC-LABEL: icaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx +; LINUX-64-PIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -10819,7 +10819,7 @@ ; DARWIN-64-STATIC-LABEL: icaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rbx -; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-STATIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: popq %rbx @@ -10828,7 +10828,7 @@ ; DARWIN-64-DYNAMIC-LABEL: icaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rbx -; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: popq %rbx @@ -10837,7 +10837,7 @@ ; DARWIN-64-PIC-LABEL: icaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rbx -; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-PIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: popq %rbx @@ -10855,8 +10855,8 @@ ; LINUX-64-STATIC-LABEL: dicaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *difunc(%rip) -; LINUX-64-STATIC-NEXT: callq *difunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10879,7 +10879,7 @@ ; LINUX-64-PIC-LABEL: dicaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), %rbx +; LINUX-64-PIC-NEXT: movq difunc@{{.*}}(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -10917,24 +10917,24 @@ ; DARWIN-64-STATIC-LABEL: dicaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) -; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: dicaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) -; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: dicaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) -; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -10950,8 +10950,8 @@ ; LINUX-64-STATIC-LABEL: licaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) -; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10974,8 +10974,8 @@ ; LINUX-64-PIC-LABEL: licaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *lifunc(%rip) -; LINUX-64-PIC-NEXT: callq *lifunc(%rip) +; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -11011,24 +11011,24 @@ ; DARWIN-64-STATIC-LABEL: licaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) -; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: licaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) -; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: licaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) -; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -11044,8 +11044,8 @@ ; LINUX-64-STATIC-LABEL: itailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11068,7 +11068,7 @@ ; LINUX-64-PIC-LABEL: itailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx +; LINUX-64-PIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -11110,7 +11110,7 @@ ; DARWIN-64-STATIC-LABEL: itailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rbx -; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-STATIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: popq %rbx @@ -11119,7 +11119,7 @@ ; DARWIN-64-DYNAMIC-LABEL: itailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rbx -; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: popq %rbx @@ -11128,7 +11128,7 @@ ; DARWIN-64-PIC-LABEL: itailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rbx -; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-PIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: popq %rbx @@ -11146,7 +11146,7 @@ ; LINUX-64-STATIC-LABEL: ditailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *difunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11167,7 +11167,7 @@ ; LINUX-64-PIC-LABEL: ditailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq difunc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: callq *(%rax) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq @@ -11199,21 +11199,21 @@ ; DARWIN-64-STATIC-LABEL: ditailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ditailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ditailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -11227,7 +11227,7 @@ ; LINUX-64-STATIC-LABEL: litailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11248,7 +11248,7 @@ ; LINUX-64-PIC-LABEL: litailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *lifunc(%rip) +; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -11279,21 +11279,21 @@ ; DARWIN-64-STATIC-LABEL: litailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: litailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: litailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq Index: llvm/test/CodeGen/X86/anyext.ll =================================================================== --- llvm/test/CodeGen/X86/anyext.ll +++ llvm/test/CodeGen/X86/anyext.ll @@ -42,8 +42,8 @@ ; X64-LABEL: bar: ; X64: # %bb.0: ; X64-NEXT: movl %edi, %eax -; X64-NEXT: xorl %edx, %edx ; X64-NEXT: # kill: def $ax killed $ax killed $eax +; X64-NEXT: xorl %edx, %edx ; X64-NEXT: divw %si ; X64-NEXT: # kill: def $ax killed $ax def $eax ; X64-NEXT: andl $1, %eax Index: llvm/test/CodeGen/X86/atomic-eflags-reuse.ll =================================================================== --- llvm/test/CodeGen/X86/atomic-eflags-reuse.ll +++ llvm/test/CodeGen/X86/atomic-eflags-reuse.ll @@ -228,7 +228,19 @@ ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: movl $1, %eax ; CHECK-NEXT: lock xaddq %rax, (%rdi) -; CHECK-NEXT: testq %rax, %rax +; CHECK-NEXT: testq %rax, %rax +; CHECK-NEXT: movb $12, %al +; CHECK-NEXT: js .LBB11_2 +; CHECK-NEXT: # %bb.1: # %entry +; CHECK-NEXT: movb $34, %al +; CHECK-NEXT: .LBB11_2: # %entry +; CHECK-NEXT: movb %al, (%rsi) +; CHECK-NEXT: movb $56, %al +; CHECK-NEXT: js .LBB11_4 +; CHECK-NEXT: # %bb.3: # %entry +; CHECK-NEXT: movb $78, %al +; CHECK-NEXT: .LBB11_4: # %entry +; CHECK-NEXT: retq entry: %add = atomicrmw add i64* %p, i64 1 seq_cst %cmp = icmp slt i64 %add, 0 Index: llvm/test/CodeGen/X86/atomic-minmax-i6432.ll =================================================================== --- llvm/test/CodeGen/X86/atomic-minmax-i6432.ll +++ llvm/test/CodeGen/X86/atomic-minmax-i6432.ll @@ -58,7 +58,6 @@ ; PIC-NEXT: popl %edi ; PIC-NEXT: popl %ebx ; PIC-NEXT: retl -; PIC-NEXT: ## -- End function entry: %max = atomicrmw max i64* @sc64, i64 5 acquire ret i64 %max @@ -112,7 +111,6 @@ ; PIC-NEXT: popl %esi ; PIC-NEXT: popl %ebx ; PIC-NEXT: retl -; PIC-NEXT: ## -- End function entry: %min = atomicrmw min i64* @sc64, i64 6 acquire ret i64 %min @@ -172,7 +170,6 @@ ; PIC-NEXT: popl %edi ; PIC-NEXT: popl %ebx ; PIC-NEXT: retl -; PIC-NEXT: ## -- End function entry: %umax = atomicrmw umax i64* @sc64, i64 7 acquire ret i64 %umax @@ -226,7 +223,6 @@ ; PIC-NEXT: popl %esi ; PIC-NEXT: popl %ebx ; PIC-NEXT: retl -; PIC-NEXT: ## -- End function entry: %umin = atomicrmw umin i64* @sc64, i64 8 acquire ret i64 %umin @@ -289,8 +285,6 @@ ; PIC-NEXT: popl %edi ; PIC-NEXT: popl %ebx ; PIC-NEXT: retl -; PIC-NEXT: ## -- End function -; PIC-NEXT: .zerofill __DATA,__bss,_id,8,3 ## @id entry: %tmp1 = atomicrmw add i64* @id, i64 1 seq_cst %tmp2 = add i64 %tmp1, 1 Index: llvm/test/CodeGen/X86/atomic_mi.ll =================================================================== --- llvm/test/CodeGen/X86/atomic_mi.ll +++ llvm/test/CodeGen/X86/atomic_mi.ll @@ -2245,11 +2245,11 @@ ; X32-NEXT: .cfi_offset %edi, -16 ; X32-NEXT: .cfi_offset %ebx, -12 ; X32-NEXT: movl 20(%ebp), %esi +; X32-NEXT: movl 8(%ebp), %edi ; X32-NEXT: xorl %eax, %eax ; X32-NEXT: xorl %edx, %edx ; X32-NEXT: xorl %ecx, %ecx ; X32-NEXT: xorl %ebx, %ebx -; X32-NEXT: movl 8(%ebp), %edi ; X32-NEXT: lock cmpxchg8b (%edi,%esi,8) ; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) ; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) Index: llvm/test/CodeGen/X86/avx-cmp.ll =================================================================== --- llvm/test/CodeGen/X86/avx-cmp.ll +++ llvm/test/CodeGen/X86/avx-cmp.ll @@ -48,7 +48,7 @@ ; CHECK-NEXT: # in Loop: Header=BB2_2 Depth=1 ; CHECK-NEXT: testb %bpl, %bpl ; CHECK-NEXT: jne .LBB2_2 -; CHECK-NEXT: # %bb.4: # %for.body33 +; CHECK-NEXT: # %bb.4: # %for.body33.preheader ; CHECK-NEXT: # in Loop: Header=BB2_2 Depth=1 ; CHECK-NEXT: vucomisd {{\.LCPI.*}}, %xmm0 ; CHECK-NEXT: jne .LBB2_5 Index: llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll =================================================================== --- llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll +++ llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll @@ -1252,17 +1252,17 @@ ; WIN64-LABEL: test_argMultiRet: ; WIN64: # %bb.0: ; WIN64-NEXT: vaddsd __real@{{.*}}(%rip), %xmm1, %xmm1 +; WIN64-NEXT: movl $999, %edx # imm = 0x3E7 ; WIN64-NEXT: movl $4, %eax ; WIN64-NEXT: movb $7, %cl -; WIN64-NEXT: movl $999, %edx # imm = 0x3E7 ; WIN64-NEXT: retq ; ; LINUXOSX64-LABEL: test_argMultiRet: ; LINUXOSX64: # %bb.0: ; LINUXOSX64-NEXT: vaddsd {{.*}}(%rip), %xmm1, %xmm1 +; LINUXOSX64-NEXT: movl $999, %edx # imm = 0x3E7 ; LINUXOSX64-NEXT: movl $4, %eax ; LINUXOSX64-NEXT: movb $7, %cl -; LINUXOSX64-NEXT: movl $999, %edx # imm = 0x3E7 ; LINUXOSX64-NEXT: retq %6 = fadd double %1, 5.000000e+00 %7 = insertvalue %struct.complex undef, float %0, 0 Index: llvm/test/CodeGen/X86/bss_pagealigned.ll =================================================================== --- llvm/test/CodeGen/X86/bss_pagealigned.ll +++ llvm/test/CodeGen/X86/bss_pagealigned.ll @@ -7,9 +7,9 @@ define void @unxlate_dev_mem_ptr(i64 %phis, i8* %addr) nounwind { %pte.addr.i = alloca %struct.kmem_cache_order_objects* %call8 = call i8* @memset(i8* bitcast ([512 x %struct.kmem_cache_order_objects]* @bm_pte to i8*), i32 0, i64 4096) -; CHECK: movq $bm_pte, %rdi +; CHECK: movl $4096, %edx +; CHECK-NEXT: movq $bm_pte, %rdi ; CHECK-NEXT: xorl %esi, %esi -; CHECK-NEXT: movl $4096, %edx ; CHECK-NEXT: callq memset ret void } Index: llvm/test/CodeGen/X86/bypass-slow-division-32.ll =================================================================== --- llvm/test/CodeGen/X86/bypass-slow-division-32.ll +++ llvm/test/CodeGen/X86/bypass-slow-division-32.ll @@ -97,8 +97,8 @@ ; CHECK-NEXT: testl $-256, %edi ; CHECK-NEXT: je .LBB3_4 ; CHECK-NEXT: .LBB3_5: -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movl %ecx, %eax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divl %ebx ; CHECK-NEXT: jmp .LBB3_6 ; CHECK-NEXT: .LBB3_1: Index: llvm/test/CodeGen/X86/bypass-slow-division-64.ll =================================================================== --- llvm/test/CodeGen/X86/bypass-slow-division-64.ll +++ llvm/test/CodeGen/X86/bypass-slow-division-64.ll @@ -17,8 +17,8 @@ ; CHECK-NEXT: idivq %rsi ; CHECK-NEXT: retq ; CHECK-NEXT: .LBB0_1: -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: # kill: def $eax killed $eax killed $rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divl %esi ; CHECK-NEXT: # kill: def $eax killed $eax def $rax ; CHECK-NEXT: retq @@ -40,8 +40,8 @@ ; CHECK-NEXT: movq %rdx, %rax ; CHECK-NEXT: retq ; CHECK-NEXT: .LBB1_1: -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: # kill: def $eax killed $eax killed $rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divl %esi ; CHECK-NEXT: movl %edx, %eax ; CHECK-NEXT: retq @@ -63,8 +63,8 @@ ; CHECK-NEXT: addq %rdx, %rax ; CHECK-NEXT: retq ; CHECK-NEXT: .LBB2_1: -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: # kill: def $eax killed $eax killed $rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divl %esi ; CHECK-NEXT: # kill: def $edx killed $edx def $rdx ; CHECK-NEXT: # kill: def $eax killed $eax def $rax Index: llvm/test/CodeGen/X86/clz.ll =================================================================== --- llvm/test/CodeGen/X86/clz.ll +++ llvm/test/CodeGen/X86/clz.ll @@ -289,7 +289,7 @@ ; X32-NEXT: # kill: def $al killed $al killed $eax ; X32-NEXT: retl ; X32-NEXT: .LBB8_1: -; X32-NEXT: movb $8, %al +; X32-NEXT: movb $8, %al ; X32-NEXT: # kill: def $al killed $al killed $eax ; X32-NEXT: retl ; @@ -304,7 +304,7 @@ ; X64-NEXT: # kill: def $al killed $al killed $eax ; X64-NEXT: retq ; X64-NEXT: .LBB8_1: -; X64-NEXT: movb $8, %al +; X64-NEXT: movb $8, %al ; X64-NEXT: # kill: def $al killed $al killed $eax ; X64-NEXT: retq ; @@ -340,7 +340,7 @@ ; X32-NEXT: # kill: def $ax killed $ax killed $eax ; X32-NEXT: retl ; X32-NEXT: .LBB9_1: -; X32-NEXT: movw $16, %ax +; X32-NEXT: movw $16, %ax ; X32-NEXT: # kill: def $ax killed $ax killed $eax ; X32-NEXT: retl ; @@ -383,7 +383,7 @@ ; X32-NEXT: xorl $31, %eax ; X32-NEXT: retl ; X32-NEXT: .LBB10_1: -; X32-NEXT: movl $32, %eax +; X32-NEXT: movl $32, %eax ; X32-NEXT: retl ; ; X64-LABEL: ctlz_i32_zero_test: @@ -482,7 +482,7 @@ ; X32-NEXT: bsfl %eax, %eax ; X32-NEXT: # kill: def $al killed $al killed $eax ; X32-NEXT: retl -; X32-NEXT: .LBB12_1 +; X32-NEXT: .LBB12_1: ; X32-NEXT: movb $8, %al ; X32-NEXT: # kill: def $al killed $al killed $eax ; X32-NEXT: retl @@ -530,7 +530,7 @@ ; X32-NEXT: # %bb.2: # %cond.false ; X32-NEXT: bsfw %ax, %ax ; X32-NEXT: retl -; X32-NEXT: .LBB13_1 +; X32-NEXT: .LBB13_1: ; X32-NEXT: movw $16, %ax ; X32-NEXT: retl ; @@ -568,7 +568,7 @@ ; X32-NEXT: # %bb.2: # %cond.false ; X32-NEXT: bsfl %eax, %eax ; X32-NEXT: retl -; X32-NEXT: .LBB14_1 +; X32-NEXT: .LBB14_1: ; X32-NEXT: movl $32, %eax ; X32-NEXT: retl ; @@ -667,7 +667,7 @@ ; X32-NEXT: bsrl %eax, %eax ; X32-NEXT: xorl $31, %eax ; X32-NEXT: retl -; X32-NEXT: .LBB16_1 +; X32-NEXT: .LBB16_1: ; X32-NEXT: movl $32, %eax ; X32-NEXT: retl ; Index: llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll =================================================================== --- llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll +++ llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll @@ -91,8 +91,8 @@ ; CHECK-NEXT: movq %r8, %rcx ; CHECK-NEXT: lock cmpxchg16b (%rdi) ; CHECK-NEXT: sete %sil -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %rsi, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: popq %rbx ; CHECK-NEXT: .cfi_def_cfa_offset 8 ; CHECK-NEXT: retq Index: llvm/test/CodeGen/X86/cmpxchg16b.ll =================================================================== --- llvm/test/CodeGen/X86/cmpxchg16b.ll +++ llvm/test/CodeGen/X86/cmpxchg16b.ll @@ -6,10 +6,10 @@ ; CHECK-LABEL: t1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: pushq %rbx +; CHECK-NEXT: movl $1, %ebx ; CHECK-NEXT: xorl %eax, %eax ; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: xorl %ecx, %ecx -; CHECK-NEXT: movl $1, %ebx ; CHECK-NEXT: lock cmpxchg16b (%rdi) ; CHECK-NEXT: popq %rbx ; CHECK-NEXT: retq Index: llvm/test/CodeGen/X86/code-model-elf-memset.ll =================================================================== --- llvm/test/CodeGen/X86/code-model-elf-memset.ll +++ llvm/test/CodeGen/X86/code-model-elf-memset.ll @@ -30,8 +30,8 @@ ; SMALL-PIC-NEXT: .cfi_def_cfa_offset 432 ; SMALL-PIC-NEXT: movl $0, {{[0-9]+}}(%rsp) ; SMALL-PIC-NEXT: leaq {{[0-9]+}}(%rsp), %rdi -; SMALL-PIC-NEXT: xorl %esi, %esi ; SMALL-PIC-NEXT: movl $400, %edx # imm = 0x190 +; SMALL-PIC-NEXT: xorl %esi, %esi ; SMALL-PIC-NEXT: callq memset@PLT ; SMALL-PIC-NEXT: xorl %eax, %eax ; SMALL-PIC-NEXT: addq $424, %rsp # imm = 0x1A8 @@ -44,8 +44,8 @@ ; MEDIUM-PIC-NEXT: .cfi_def_cfa_offset 432 ; MEDIUM-PIC-NEXT: movl $0, {{[0-9]+}}(%rsp) ; MEDIUM-PIC-NEXT: leaq {{[0-9]+}}(%rsp), %rdi -; MEDIUM-PIC-NEXT: xorl %esi, %esi ; MEDIUM-PIC-NEXT: movl $400, %edx # imm = 0x190 +; MEDIUM-PIC-NEXT: xorl %esi, %esi ; MEDIUM-PIC-NEXT: callq memset@PLT ; MEDIUM-PIC-NEXT: xorl %eax, %eax ; MEDIUM-PIC-NEXT: addq $424, %rsp # imm = 0x1A8 @@ -57,14 +57,14 @@ ; LARGE-PIC-NEXT: subq $424, %rsp # imm = 0x1A8 ; LARGE-PIC-NEXT: .cfi_def_cfa_offset 432 ; LARGE-PIC-NEXT: .L0$pb: -; LARGE-PIC-NEXT: leaq .L0$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L0${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L0$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movl $0, {{[0-9]+}}(%rsp) ; LARGE-PIC-NEXT: leaq {{[0-9]+}}(%rsp), %rdi ; LARGE-PIC-NEXT: movabsq $memset@GOT, %rax -; LARGE-PIC-NEXT: xorl %esi, %esi ; LARGE-PIC-NEXT: movl $400, %edx # imm = 0x190 +; LARGE-PIC-NEXT: xorl %esi, %esi ; LARGE-PIC-NEXT: callq *(%rcx,%rax) ; LARGE-PIC-NEXT: xorl %eax, %eax ; LARGE-PIC-NEXT: addq $424, %rsp # imm = 0x1A8 Index: llvm/test/CodeGen/X86/combine-srem.ll =================================================================== --- llvm/test/CodeGen/X86/combine-srem.ll +++ llvm/test/CodeGen/X86/combine-srem.ll @@ -399,8 +399,8 @@ ; CHECK-NEXT: cltd ; CHECK-NEXT: idivl %esi ; CHECK-NEXT: movl %edx, %edi -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movl %ecx, %eax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divl %esi ; CHECK-NEXT: andl %edi, %eax ; CHECK-NEXT: retq Index: llvm/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll =================================================================== --- llvm/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll +++ llvm/test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll @@ -7,9 +7,9 @@ ; CHECK: callq _Z3fooPcjPKc ; CHECK: callq _Z3fooPcjPKc ; CHECK: movq %rsp, %rdi -; CHECK: movl $4, %esi ; CHECK: testl {{%[a-z]+}}, {{%[a-z]+}} ; CHECK: je .LBB0_4 +; CHECK: movl $4, %esi ; Regenerate test with this command: ; clang++ -emit-llvm -S -O2 -g Index: llvm/test/CodeGen/X86/divrem.ll =================================================================== --- llvm/test/CodeGen/X86/divrem.ll +++ llvm/test/CodeGen/X86/divrem.ll @@ -245,8 +245,8 @@ ; X64: # %bb.0: ; X64-NEXT: movq %rdx, %r8 ; X64-NEXT: movl %edi, %eax -; X64-NEXT: xorl %edx, %edx ; X64-NEXT: # kill: def $ax killed $ax killed $eax +; X64-NEXT: xorl %edx, %edx ; X64-NEXT: divw %si ; X64-NEXT: movw %ax, (%r8) ; X64-NEXT: movw %dx, (%rcx) Index: llvm/test/CodeGen/X86/instr-symbols.mir =================================================================== --- llvm/test/CodeGen/X86/instr-symbols.mir +++ llvm/test/CodeGen/X86/instr-symbols.mir @@ -60,10 +60,10 @@ %3:gr64 = MOV64ri32 %4:gr64 = MOV64ri32 %5:gr64 = MOV64ri32 - ; CHECK: movq $.Lpre_f, %{{.*}} - ; CHECK-NEXT: movq $.Lpost_f, %{{.*}} - ; CHECK-NEXT: movq $.Lpre_g, %{{.*}} - ; CHECK-NEXT: movq $.Lpost_h, %{{.*}} + ; CHECK: movq $.Lpre_f, %{{.*}} + ; CHECK: movq $.Lpost_f, %{{.*}} + ; CHECK: movq $.Lpre_g, %{{.*}} + ; CHECK: movq $.Lpost_h, %{{.*}} %6:gr64 = ADD64rr killed %2, killed %3, implicit-def $eflags %7:gr64 = ADD64rr killed %4, killed %5, implicit-def $eflags Index: llvm/test/CodeGen/X86/known-bits.ll =================================================================== --- llvm/test/CodeGen/X86/known-bits.ll +++ llvm/test/CodeGen/X86/known-bits.ll @@ -37,17 +37,17 @@ ; X32-NEXT: .LBB0_1: # %CF ; X32-NEXT: # =>This Loop Header: Depth=1 ; X32-NEXT: # Child Loop BB0_2 Depth 2 -; X32-NEXT: xorl %edx, %edx ; X32-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload -; X32-NEXT: divl {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload ; X32-NEXT: xorl %edx, %edx +; X32-NEXT: divl {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload ; X32-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload -; X32-NEXT: divl (%esp) # 4-byte Folded Reload ; X32-NEXT: xorl %edx, %edx +; X32-NEXT: divl (%esp) # 4-byte Folded Reload ; X32-NEXT: movl %edi, %eax -; X32-NEXT: divl %esi ; X32-NEXT: xorl %edx, %edx +; X32-NEXT: divl %esi ; X32-NEXT: movl %ebx, %eax +; X32-NEXT: xorl %edx, %edx ; X32-NEXT: divl %ebp ; X32-NEXT: .p2align 4, 0x90 ; X32-NEXT: .LBB0_2: # %CF237 @@ -87,17 +87,17 @@ ; X64-NEXT: .LBB0_1: # %CF ; X64-NEXT: # =>This Loop Header: Depth=1 ; X64-NEXT: # Child Loop BB0_2 Depth 2 -; X64-NEXT: xorl %edx, %edx ; X64-NEXT: movl %r8d, %eax -; X64-NEXT: divl %r9d ; X64-NEXT: xorl %edx, %edx +; X64-NEXT: divl %r9d ; X64-NEXT: movl %r10d, %eax -; X64-NEXT: divl %r11d ; X64-NEXT: xorl %edx, %edx +; X64-NEXT: divl %r11d ; X64-NEXT: movl %edi, %eax -; X64-NEXT: divl %ebx ; X64-NEXT: xorl %edx, %edx +; X64-NEXT: divl %ebx ; X64-NEXT: movl %ecx, %eax +; X64-NEXT: xorl %edx, %edx ; X64-NEXT: divl %ebp ; X64-NEXT: .p2align 4, 0x90 ; X64-NEXT: .LBB0_2: # %CF237 Index: llvm/test/CodeGen/X86/machine-cse.ll =================================================================== --- llvm/test/CodeGen/X86/machine-cse.ll +++ llvm/test/CodeGen/X86/machine-cse.ll @@ -63,8 +63,8 @@ ; CHECK-NEXT: pushq %rax ; CHECK-NEXT: imull %edi, %esi ; CHECK-NEXT: leal (%rsi,%rsi,2), %esi -; CHECK-NEXT: xorl %eax, %eax ; CHECK-NEXT: # kill: def $edi killed $edi killed $rdi +; CHECK-NEXT: xorl %eax, %eax ; CHECK-NEXT: callq printf ; CHECK-NEXT: addq $8, %rsp ; CHECK-NEXT: .p2align 4, 0x90 Index: llvm/test/CodeGen/X86/memset-nonzero.ll =================================================================== --- llvm/test/CodeGen/X86/memset-nonzero.ll +++ llvm/test/CodeGen/X86/memset-nonzero.ll @@ -144,8 +144,8 @@ ; SSE: # %bb.0: ; SSE-NEXT: pushq %rax ; SSE-NEXT: .cfi_def_cfa_offset 16 -; SSE-NEXT: movl $42, %esi ; SSE-NEXT: movl $256, %edx # imm = 0x100 +; SSE-NEXT: movl $42, %esi ; SSE-NEXT: callq memset ; SSE-NEXT: popq %rax ; SSE-NEXT: .cfi_def_cfa_offset 8 Index: llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll =================================================================== --- llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll +++ llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll @@ -28,7 +28,7 @@ declare i32 @test_function(%class.C*, i8 signext, i8 signext, i8 signext, ...) ; CHECK-LABEL: test_without_debug ; CHECK: movl [[A:%[a-z]+]], [[B:%[a-z]+]] -; CHECK-NEXT: movl [[A]], [[C:%[a-z]+]] +; CHECK: movl [[A]], [[C:%[a-z]+]] define void @test_without_debug() { entry: @@ -42,7 +42,7 @@ } ; CHECK-LABEL: test_with_debug ; CHECK: movl [[A]], [[B]] -; CHECK-NEXT: movl [[A]], [[C]] +; CHECK: movl [[A]], [[C]] define void @test_with_debug() !dbg !17 { entry: Index: llvm/test/CodeGen/X86/patchpoint.ll =================================================================== --- llvm/test/CodeGen/X86/patchpoint.ll +++ llvm/test/CodeGen/X86/patchpoint.ll @@ -103,8 +103,8 @@ entry: ; CHECK-LABEL: test_patchpoint_with_attributes: ; CHECK: movl $42, %edi -; CHECK: xorl %r10d, %r10d ; CHECK: movl $17, %esi +; CHECK: xorl %r10d, %r10d ; CHECK: movabsq $_consume_attributes, %r11 ; CHECK-NEXT: callq *%r11 ; CHECK-NEXT: xchgw %ax, %ax Index: llvm/test/CodeGen/X86/pr32282.ll =================================================================== --- llvm/test/CodeGen/X86/pr32282.ll +++ llvm/test/CodeGen/X86/pr32282.ll @@ -52,8 +52,8 @@ ; X64-NEXT: idivq %rcx ; X64-NEXT: jmp .LBB0_3 ; X64-NEXT: .LBB0_1: -; X64-NEXT: xorl %edx, %edx ; X64-NEXT: # kill: def $eax killed $eax killed $rax +; X64-NEXT: xorl %edx, %edx ; X64-NEXT: divl %ecx ; X64-NEXT: # kill: def $eax killed $eax def $rax ; X64-NEXT: .LBB0_3: Index: llvm/test/CodeGen/X86/pr36865.ll =================================================================== --- llvm/test/CodeGen/X86/pr36865.ll +++ llvm/test/CodeGen/X86/pr36865.ll @@ -7,8 +7,8 @@ ; CHECK-NEXT: subq $424, %rsp # imm = 0x1A8 ; CHECK-NEXT: .cfi_def_cfa_offset 432 ; CHECK-NEXT: leaq {{[0-9]+}}(%rsp), %rdi -; CHECK-NEXT: xorl %esi, %esi ; CHECK-NEXT: movl $400, %edx # imm = 0x190 +; CHECK-NEXT: xorl %esi, %esi ; CHECK-NEXT: callq memset ; CHECK-NEXT: movl {{[0-9]+}}(%rsp), %eax ; CHECK-NEXT: movl (%rax), %ecx Index: llvm/test/CodeGen/X86/pr38865.ll =================================================================== --- llvm/test/CodeGen/X86/pr38865.ll +++ llvm/test/CodeGen/X86/pr38865.ll @@ -15,11 +15,11 @@ ; CHECK-NEXT: subl $528, %esp # encoding: [0x81,0xec,0x10,0x02,0x00,0x00] ; CHECK-NEXT: # imm = 0x210 ; CHECK-NEXT: leal {{[0-9]+}}(%rsp), %ebx # encoding: [0x8d,0x9c,0x24,0x08,0x01,0x00,0x00] +; CHECK-NEXT: movl %ebx, %edi # encoding: [0x89,0xdf] ; CHECK-NEXT: movl $c, %esi # encoding: [0xbe,A,A,A,A] ; CHECK-NEXT: # fixup A - offset: 1, value: c, kind: FK_Data_4 ; CHECK-NEXT: movl $260, %edx # encoding: [0xba,0x04,0x01,0x00,0x00] ; CHECK-NEXT: # imm = 0x104 -; CHECK-NEXT: movl %ebx, %edi # encoding: [0x89,0xdf] ; CHECK-NEXT: callq memcpy # encoding: [0xe8,A,A,A,A] ; CHECK-NEXT: # fixup A - offset: 1, value: memcpy-4, kind: FK_PCRel_4 ; CHECK-NEXT: movl $32, %ecx # encoding: [0xb9,0x20,0x00,0x00,0x00] Index: llvm/test/CodeGen/X86/pr39391.ll =================================================================== --- /dev/null +++ llvm/test/CodeGen/X86/pr39391.ll @@ -0,0 +1,50 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc %s -O2 -mtriple=i686-unknown-linux-gnu -o - | FileCheck %s + +@f = global i8* zeroinitializer + +define void @g() #0 { +; CHECK-LABEL: g: +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: pushl %ebp +; CHECK-NEXT: .cfi_def_cfa_offset 8 +; CHECK-NEXT: .cfi_offset %ebp, -8 +; CHECK-NEXT: movl %esp, %ebp +; CHECK-NEXT: .cfi_def_cfa_register %ebp +; CHECK-NEXT: pushl %ebx +; CHECK-NEXT: pushl %esi +; CHECK-NEXT: subl $16, %esp +; CHECK-NEXT: .cfi_offset %esi, -16 +; CHECK-NEXT: .cfi_offset %ebx, -12 +; CHECK-NEXT: movl f, %esi +; CHECK-NEXT: movb (%esi), %al +; CHECK-NEXT: movb %al, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill +; CHECK-NEXT: xorl %eax, %eax +; CHECK-NEXT: xorl %edx, %edx +; CHECK-NEXT: xorl %ecx, %ecx +; CHECK-NEXT: xorl %ebx, %ebx +; CHECK-NEXT: lock cmpxchg8b (%esi) +; CHECK-NEXT: cmpb $0, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Reload +; CHECK-NEXT: jne .LBB0_1 +; CHECK-NEXT: # %bb.2: # %k.end +; CHECK-NEXT: .LBB0_1: # %. +; CHECK-NEXT: calll m +entry: + %0 = load i8*, i8** @f + %1 = load atomic i8, i8* %0 monotonic, align 1 + %d.h.h.h.h.h = bitcast i8* %0 to i64* + %2 = load atomic i64, i64* %d.h.h.h.h.h monotonic, align 8 + %j.h = icmp eq i8 %1, 0 + br i1 %j.h, label %k.end, label %. + +.: ; preds = %., %entry + %3 = call i32 @m() + unreachable + +k.end: ; preds = %entry + unreachable +} + +declare i32 @m() + +attributes #0 = { "no-frame-pointer-elim-non-leaf" } Index: llvm/test/CodeGen/X86/pr9517.ll =================================================================== --- llvm/test/CodeGen/X86/pr9517.ll +++ llvm/test/CodeGen/X86/pr9517.ll @@ -22,7 +22,7 @@ ret i16 %v } -; The asm call prevents the merging the loads here. +; The asm call prevents the merging the loads here. define i16 @unify_through_trival_asm_w_memory_clobber() { ; CHECK-LABEL: unify_through_trival_asm_w_memory_clobber: ; CHECK: # %bb.0: Index: llvm/test/CodeGen/X86/scalar_widen_div.ll =================================================================== --- llvm/test/CodeGen/X86/scalar_widen_div.ll +++ llvm/test/CodeGen/X86/scalar_widen_div.ll @@ -237,12 +237,12 @@ ; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq %rcx ; CHECK-NEXT: movq %rax, %rcx -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %rsi, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq %r8 ; CHECK-NEXT: movq %rax, %rsi -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %r10, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq %r9 ; CHECK-NEXT: movq %rax, %rdi ; CHECK-NEXT: movq %rcx, %rax @@ -372,22 +372,22 @@ ; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq {{[0-9]+}}(%rsp) ; CHECK-NEXT: movq %rdx, %xmm0 -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %rsi, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq {{[0-9]+}}(%rsp) ; CHECK-NEXT: movq %rdx, %xmm1 ; CHECK-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0] -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %r8, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq {{[0-9]+}}(%rsp) ; CHECK-NEXT: movq %rdx, %xmm0 -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %rcx, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq {{[0-9]+}}(%rsp) ; CHECK-NEXT: movq %rdx, %xmm2 ; CHECK-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0] -; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: movq %r9, %rax +; CHECK-NEXT: xorl %edx, %edx ; CHECK-NEXT: divq {{[0-9]+}}(%rsp) ; CHECK-NEXT: movq %rdx, 32(%rdi) ; CHECK-NEXT: movdqa %xmm2, 16(%rdi) Index: llvm/test/CodeGen/X86/shrink_vmul.ll =================================================================== --- llvm/test/CodeGen/X86/shrink_vmul.ll +++ llvm/test/CodeGen/X86/shrink_vmul.ll @@ -2252,19 +2252,19 @@ ; X86-AVX1-NEXT: movl %edx, %ebp ; X86-AVX1-NEXT: vpextrd $3, %xmm0, %eax ; X86-AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1 -; X86-AVX1-NEXT: xorl %edx, %edx ; X86-AVX1-NEXT: vpextrd $3, %xmm1, %ecx +; X86-AVX1-NEXT: xorl %edx, %edx ; X86-AVX1-NEXT: divl %ecx ; X86-AVX1-NEXT: movl %edx, %ecx -; X86-AVX1-NEXT: xorl %edx, %edx ; X86-AVX1-NEXT: vpextrd $2, %xmm0, %eax ; X86-AVX1-NEXT: vpextrd $2, %xmm1, %esi +; X86-AVX1-NEXT: xorl %edx, %edx ; X86-AVX1-NEXT: divl %esi ; X86-AVX1-NEXT: movl %edx, %esi ; X86-AVX1-NEXT: vmovd %ebp, %xmm2 -; X86-AVX1-NEXT: xorl %edx, %edx ; X86-AVX1-NEXT: vpextrd $1, %xmm0, %eax ; X86-AVX1-NEXT: vpextrd $1, %xmm1, %ebp +; X86-AVX1-NEXT: xorl %edx, %edx ; X86-AVX1-NEXT: divl %ebp ; X86-AVX1-NEXT: movl %edx, %ebp ; X86-AVX1-NEXT: vpinsrd $1, %ebx, %xmm2, %xmm2 Index: llvm/test/CodeGen/X86/speculative-load-hardening-call-and-ret.ll =================================================================== --- llvm/test/CodeGen/X86/speculative-load-hardening-call-and-ret.ll +++ llvm/test/CodeGen/X86/speculative-load-hardening-call-and-ret.ll @@ -62,7 +62,7 @@ ; X64-NOPIC-MCM-NEXT: movq %rsp, %rax ; X64-NOPIC-MCM-NEXT: movq -{{[0-9]+}}(%rsp), %rcx ; X64-NOPIC-MCM-NEXT: sarq $63, %rax -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr0(%rip), %rdx +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rdx ; X64-NOPIC-MCM-NEXT: cmpq %rdx, %rcx ; X64-NOPIC-MCM-NEXT: cmovneq %r14, %rax ; X64-NOPIC-MCM-NEXT: movl (%rbx), %ebp @@ -73,7 +73,7 @@ ; X64-NOPIC-MCM-NEXT: movq %rsp, %rcx ; X64-NOPIC-MCM-NEXT: movq -{{[0-9]+}}(%rsp), %rax ; X64-NOPIC-MCM-NEXT: sarq $63, %rcx -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr1(%rip), %rdx +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rdx ; X64-NOPIC-MCM-NEXT: cmpq %rdx, %rax ; X64-NOPIC-MCM-NEXT: cmovneq %r14, %rcx ; X64-NOPIC-MCM-NEXT: addl (%rbx), %ebp @@ -102,7 +102,7 @@ ; X64-PIC-NEXT: movq %rsp, %rax ; X64-PIC-NEXT: movq -{{[0-9]+}}(%rsp), %rcx ; X64-PIC-NEXT: sarq $63, %rax -; X64-PIC-NEXT: leaq .Lslh_ret_addr0(%rip), %rdx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rdx ; X64-PIC-NEXT: cmpq %rdx, %rcx ; X64-PIC-NEXT: cmovneq %r14, %rax ; X64-PIC-NEXT: movl (%rbx), %ebp @@ -113,7 +113,7 @@ ; X64-PIC-NEXT: movq %rsp, %rcx ; X64-PIC-NEXT: movq -{{[0-9]+}}(%rsp), %rax ; X64-PIC-NEXT: sarq $63, %rcx -; X64-PIC-NEXT: leaq .Lslh_ret_addr1(%rip), %rdx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rdx ; X64-PIC-NEXT: cmpq %rdx, %rax ; X64-PIC-NEXT: cmovneq %r14, %rcx ; X64-PIC-NEXT: addl (%rbx), %ebp @@ -190,23 +190,23 @@ ; X64-NOPIC-MCM-NEXT: sarq $63, %rax ; X64-NOPIC-MCM-NEXT: shlq $47, %rax ; X64-NOPIC-MCM-NEXT: orq %rax, %rsp -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr2(%rip), %rbp +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rbp ; X64-NOPIC-MCM-NEXT: callq f ; X64-NOPIC-MCM-NEXT: .Lslh_ret_addr2: ; X64-NOPIC-MCM-NEXT: movq %rsp, %rax ; X64-NOPIC-MCM-NEXT: sarq $63, %rax -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr2(%rip), %rcx +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rcx ; X64-NOPIC-MCM-NEXT: cmpq %rcx, %rbp ; X64-NOPIC-MCM-NEXT: cmovneq %r14, %rax ; X64-NOPIC-MCM-NEXT: movl (%rbx), %ebp ; X64-NOPIC-MCM-NEXT: shlq $47, %rax ; X64-NOPIC-MCM-NEXT: orq %rax, %rsp -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr3(%rip), %r15 +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %r15 ; X64-NOPIC-MCM-NEXT: callq f ; X64-NOPIC-MCM-NEXT: .Lslh_ret_addr3: ; X64-NOPIC-MCM-NEXT: movq %rsp, %rcx ; X64-NOPIC-MCM-NEXT: sarq $63, %rcx -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr3(%rip), %rax +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rax ; X64-NOPIC-MCM-NEXT: cmpq %rax, %r15 ; X64-NOPIC-MCM-NEXT: cmovneq %r14, %rcx ; X64-NOPIC-MCM-NEXT: addl (%rbx), %ebp @@ -234,23 +234,23 @@ ; X64-PIC-NEXT: sarq $63, %rax ; X64-PIC-NEXT: shlq $47, %rax ; X64-PIC-NEXT: orq %rax, %rsp -; X64-PIC-NEXT: leaq .Lslh_ret_addr2(%rip), %rbp +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rbp ; X64-PIC-NEXT: callq f@PLT ; X64-PIC-NEXT: .Lslh_ret_addr2: ; X64-PIC-NEXT: movq %rsp, %rax ; X64-PIC-NEXT: sarq $63, %rax -; X64-PIC-NEXT: leaq .Lslh_ret_addr2(%rip), %rcx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; X64-PIC-NEXT: cmpq %rcx, %rbp ; X64-PIC-NEXT: cmovneq %r14, %rax ; X64-PIC-NEXT: movl (%rbx), %ebp ; X64-PIC-NEXT: shlq $47, %rax ; X64-PIC-NEXT: orq %rax, %rsp -; X64-PIC-NEXT: leaq .Lslh_ret_addr3(%rip), %r15 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %r15 ; X64-PIC-NEXT: callq f@PLT ; X64-PIC-NEXT: .Lslh_ret_addr3: ; X64-PIC-NEXT: movq %rsp, %rcx ; X64-PIC-NEXT: sarq $63, %rcx -; X64-PIC-NEXT: leaq .Lslh_ret_addr3(%rip), %rax +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; X64-PIC-NEXT: cmpq %rax, %r15 ; X64-PIC-NEXT: cmovneq %r14, %rcx ; X64-PIC-NEXT: addl (%rbx), %ebp @@ -302,9 +302,9 @@ ; X64-NOPIC-NEXT: cmpq $.Lslh_ret_addr4, %rbp ; X64-NOPIC-NEXT: cmovneq %r15, %rax ; X64-NOPIC-NEXT: movl (%rbx), %ebp -; X64-NOPIC-NEXT: movl $42, %esi ; X64-NOPIC-NEXT: shlq $47, %rax ; X64-NOPIC-NEXT: movq %r14, %rdi +; X64-NOPIC-NEXT: movl $42, %esi ; X64-NOPIC-NEXT: orq %rax, %rsp ; X64-NOPIC-NEXT: movq $.Lslh_ret_addr5, %r12 ; X64-NOPIC-NEXT: callq sigsetjmp @@ -314,10 +314,10 @@ ; X64-NOPIC-NEXT: cmpq $.Lslh_ret_addr5, %r12 ; X64-NOPIC-NEXT: cmovneq %r15, %rax ; X64-NOPIC-NEXT: addl (%rbx), %ebp -; X64-NOPIC-NEXT: movl $42, %edx ; X64-NOPIC-NEXT: shlq $47, %rax ; X64-NOPIC-NEXT: movq %r14, %rdi ; X64-NOPIC-NEXT: movq %r14, %rsi +; X64-NOPIC-NEXT: movl $42, %edx ; X64-NOPIC-NEXT: orq %rax, %rsp ; X64-NOPIC-NEXT: movq $.Lslh_ret_addr6, %r14 ; X64-NOPIC-NEXT: callq __sigsetjmp @@ -355,39 +355,39 @@ ; X64-NOPIC-MCM-NEXT: shlq $47, %rax ; X64-NOPIC-MCM-NEXT: movq %r14, %rdi ; X64-NOPIC-MCM-NEXT: orq %rax, %rsp -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr4(%rip), %rbp +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rbp ; X64-NOPIC-MCM-NEXT: callq setjmp ; X64-NOPIC-MCM-NEXT: .Lslh_ret_addr4: ; X64-NOPIC-MCM-NEXT: movq %rsp, %rax ; X64-NOPIC-MCM-NEXT: sarq $63, %rax -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr4(%rip), %rcx +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rcx ; X64-NOPIC-MCM-NEXT: cmpq %rcx, %rbp ; X64-NOPIC-MCM-NEXT: cmovneq %r15, %rax ; X64-NOPIC-MCM-NEXT: movl (%rbx), %ebp -; X64-NOPIC-MCM-NEXT: movl $42, %esi ; X64-NOPIC-MCM-NEXT: shlq $47, %rax ; X64-NOPIC-MCM-NEXT: movq %r14, %rdi +; X64-NOPIC-MCM-NEXT: movl $42, %esi ; X64-NOPIC-MCM-NEXT: orq %rax, %rsp -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr5(%rip), %r12 +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %r12 ; X64-NOPIC-MCM-NEXT: callq sigsetjmp ; X64-NOPIC-MCM-NEXT: .Lslh_ret_addr5: ; X64-NOPIC-MCM-NEXT: movq %rsp, %rax ; X64-NOPIC-MCM-NEXT: sarq $63, %rax -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr5(%rip), %rcx +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rcx ; X64-NOPIC-MCM-NEXT: cmpq %rcx, %r12 ; X64-NOPIC-MCM-NEXT: cmovneq %r15, %rax ; X64-NOPIC-MCM-NEXT: addl (%rbx), %ebp -; X64-NOPIC-MCM-NEXT: movl $42, %edx ; X64-NOPIC-MCM-NEXT: shlq $47, %rax ; X64-NOPIC-MCM-NEXT: movq %r14, %rdi ; X64-NOPIC-MCM-NEXT: movq %r14, %rsi +; X64-NOPIC-MCM-NEXT: movl $42, %edx ; X64-NOPIC-MCM-NEXT: orq %rax, %rsp -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr6(%rip), %r14 +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %r14 ; X64-NOPIC-MCM-NEXT: callq __sigsetjmp ; X64-NOPIC-MCM-NEXT: .Lslh_ret_addr6: ; X64-NOPIC-MCM-NEXT: movq %rsp, %rcx ; X64-NOPIC-MCM-NEXT: sarq $63, %rcx -; X64-NOPIC-MCM-NEXT: leaq .Lslh_ret_addr6(%rip), %rax +; X64-NOPIC-MCM-NEXT: leaq {{.*}}(%rip), %rax ; X64-NOPIC-MCM-NEXT: cmpq %rax, %r14 ; X64-NOPIC-MCM-NEXT: cmovneq %r15, %rcx ; X64-NOPIC-MCM-NEXT: addl (%rbx), %ebp @@ -419,39 +419,39 @@ ; X64-PIC-NEXT: shlq $47, %rax ; X64-PIC-NEXT: movq %r14, %rdi ; X64-PIC-NEXT: orq %rax, %rsp -; X64-PIC-NEXT: leaq .Lslh_ret_addr4(%rip), %rbp +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rbp ; X64-PIC-NEXT: callq setjmp@PLT ; X64-PIC-NEXT: .Lslh_ret_addr4: ; X64-PIC-NEXT: movq %rsp, %rax ; X64-PIC-NEXT: sarq $63, %rax -; X64-PIC-NEXT: leaq .Lslh_ret_addr4(%rip), %rcx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; X64-PIC-NEXT: cmpq %rcx, %rbp ; X64-PIC-NEXT: cmovneq %r15, %rax ; X64-PIC-NEXT: movl (%rbx), %ebp -; X64-PIC-NEXT: movl $42, %esi ; X64-PIC-NEXT: shlq $47, %rax ; X64-PIC-NEXT: movq %r14, %rdi +; X64-PIC-NEXT: movl $42, %esi ; X64-PIC-NEXT: orq %rax, %rsp -; X64-PIC-NEXT: leaq .Lslh_ret_addr5(%rip), %r12 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %r12 ; X64-PIC-NEXT: callq sigsetjmp@PLT ; X64-PIC-NEXT: .Lslh_ret_addr5: ; X64-PIC-NEXT: movq %rsp, %rax ; X64-PIC-NEXT: sarq $63, %rax -; X64-PIC-NEXT: leaq .Lslh_ret_addr5(%rip), %rcx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; X64-PIC-NEXT: cmpq %rcx, %r12 ; X64-PIC-NEXT: cmovneq %r15, %rax ; X64-PIC-NEXT: addl (%rbx), %ebp -; X64-PIC-NEXT: movl $42, %edx ; X64-PIC-NEXT: shlq $47, %rax ; X64-PIC-NEXT: movq %r14, %rdi ; X64-PIC-NEXT: movq %r14, %rsi +; X64-PIC-NEXT: movl $42, %edx ; X64-PIC-NEXT: orq %rax, %rsp -; X64-PIC-NEXT: leaq .Lslh_ret_addr6(%rip), %r14 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %r14 ; X64-PIC-NEXT: callq __sigsetjmp@PLT ; X64-PIC-NEXT: .Lslh_ret_addr6: ; X64-PIC-NEXT: movq %rsp, %rcx ; X64-PIC-NEXT: sarq $63, %rcx -; X64-PIC-NEXT: leaq .Lslh_ret_addr6(%rip), %rax +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; X64-PIC-NEXT: cmpq %rax, %r14 ; X64-PIC-NEXT: cmovneq %r15, %rcx ; X64-PIC-NEXT: addl (%rbx), %ebp Index: llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll =================================================================== --- llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll +++ llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll @@ -53,7 +53,7 @@ ; X64-PIC-NEXT: movq %rsp, %rcx ; X64-PIC-NEXT: movq -{{[0-9]+}}(%rsp), %rdx ; X64-PIC-NEXT: sarq $63, %rcx -; X64-PIC-NEXT: leaq .Lslh_ret_addr0(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rbx, %rcx ; X64-PIC-NEXT: shlq $47, %rcx @@ -134,7 +134,7 @@ ; X64-NEXT: movq %rsp, %rax ; X64-NEXT: movq $-1, %rbx ; X64-NEXT: sarq $63, %rax -; X64-NEXT: movq global_fnptr(%rip), %rcx +; X64-NEXT: movq {{.*}}(%rip), %rcx ; X64-NEXT: orq %rax, %rcx ; X64-NEXT: shlq $47, %rax ; X64-NEXT: orq %rax, %rsp @@ -156,7 +156,7 @@ ; X64-PIC-NEXT: movq %rsp, %rax ; X64-PIC-NEXT: movq $-1, %rbx ; X64-PIC-NEXT: sarq $63, %rax -; X64-PIC-NEXT: movq global_fnptr@GOTPCREL(%rip), %rcx +; X64-PIC-NEXT: movq global_fnptr@{{.*}}(%rip), %rcx ; X64-PIC-NEXT: movq (%rcx), %rcx ; X64-PIC-NEXT: orq %rax, %rcx ; X64-PIC-NEXT: shlq $47, %rax @@ -166,7 +166,7 @@ ; X64-PIC-NEXT: movq %rsp, %rcx ; X64-PIC-NEXT: movq -{{[0-9]+}}(%rsp), %rdx ; X64-PIC-NEXT: sarq $63, %rcx -; X64-PIC-NEXT: leaq .Lslh_ret_addr1(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rbx, %rcx ; X64-PIC-NEXT: shlq $47, %rcx @@ -180,7 +180,7 @@ ; X64-RETPOLINE-NEXT: movq %rsp, %rax ; X64-RETPOLINE-NEXT: movq $-1, %rbx ; X64-RETPOLINE-NEXT: sarq $63, %rax -; X64-RETPOLINE-NEXT: movq global_fnptr(%rip), %r11 +; X64-RETPOLINE-NEXT: movq {{.*}}(%rip), %r11 ; X64-RETPOLINE-NEXT: shlq $47, %rax ; X64-RETPOLINE-NEXT: orq %rax, %rsp ; X64-RETPOLINE-NEXT: callq __llvm_retpoline_r11 @@ -206,7 +206,7 @@ ; X64-NEXT: movq %rsp, %rax ; X64-NEXT: movq $-1, %rcx ; X64-NEXT: sarq $63, %rax -; X64-NEXT: movq global_fnptr(%rip), %rcx +; X64-NEXT: movq {{.*}}(%rip), %rcx ; X64-NEXT: orq %rax, %rcx ; X64-NEXT: shlq $47, %rax ; X64-NEXT: orq %rax, %rsp @@ -217,7 +217,7 @@ ; X64-PIC-NEXT: movq %rsp, %rax ; X64-PIC-NEXT: movq $-1, %rcx ; X64-PIC-NEXT: sarq $63, %rax -; X64-PIC-NEXT: movq global_fnptr@GOTPCREL(%rip), %rcx +; X64-PIC-NEXT: movq global_fnptr@{{.*}}(%rip), %rcx ; X64-PIC-NEXT: movq (%rcx), %rcx ; X64-PIC-NEXT: orq %rax, %rcx ; X64-PIC-NEXT: shlq $47, %rax @@ -229,7 +229,7 @@ ; X64-RETPOLINE-NEXT: movq %rsp, %rax ; X64-RETPOLINE-NEXT: movq $-1, %rcx ; X64-RETPOLINE-NEXT: sarq $63, %rax -; X64-RETPOLINE-NEXT: movq global_fnptr(%rip), %r11 +; X64-RETPOLINE-NEXT: movq {{.*}}(%rip), %r11 ; X64-RETPOLINE-NEXT: shlq $47, %rax ; X64-RETPOLINE-NEXT: orq %rax, %rsp ; X64-RETPOLINE-NEXT: jmp __llvm_retpoline_r11 # TAILCALL @@ -251,24 +251,29 @@ ; X64-NEXT: .LBB4_1: # %bb0 ; X64-NEXT: cmpq $.LBB4_1, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $2, %eax -; X64-NEXT: jmp .LBB4_2 -; X64-NEXT: .LBB4_4: # %bb2 -; X64-NEXT: cmpq $.LBB4_4, %rdx +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq +; X64-NEXT: .LBB4_3: # %bb2 +; X64-NEXT: cmpq $.LBB4_3, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $13, %eax -; X64-NEXT: jmp .LBB4_2 -; X64-NEXT: .LBB4_5: # %bb3 -; X64-NEXT: cmpq $.LBB4_5, %rdx +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq +; X64-NEXT: .LBB4_4: # %bb3 +; X64-NEXT: cmpq $.LBB4_4, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $42, %eax -; X64-NEXT: jmp .LBB4_2 -; X64-NEXT: .LBB4_3: # %bb1 -; X64-NEXT: cmpq $.LBB4_3, %rdx +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq +; X64-NEXT: .LBB4_2: # %bb1 +; X64-NEXT: cmpq $.LBB4_2, %rdx ; X64-NEXT: cmovneq %rax, %rcx -; X64-NEXT: movl $7, %eax -; X64-NEXT: .LBB4_2: # %bb0 ; X64-NEXT: shlq $47, %rcx +; X64-NEXT: movl $7, %eax ; X64-NEXT: orq %rcx, %rsp ; X64-NEXT: retq ; @@ -281,30 +286,35 @@ ; X64-PIC-NEXT: orq %rcx, %rdx ; X64-PIC-NEXT: jmpq *%rdx ; X64-PIC-NEXT: .LBB4_1: # %bb0 -; X64-PIC-NEXT: leaq .LBB4_1(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $2, %eax -; X64-PIC-NEXT: jmp .LBB4_2 -; X64-PIC-NEXT: .LBB4_4: # %bb2 -; X64-PIC-NEXT: leaq .LBB4_4(%rip), %rsi +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq +; X64-PIC-NEXT: .LBB4_3: # %bb2 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $13, %eax -; X64-PIC-NEXT: jmp .LBB4_2 -; X64-PIC-NEXT: .LBB4_5: # %bb3 -; X64-PIC-NEXT: leaq .LBB4_5(%rip), %rsi +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq +; X64-PIC-NEXT: .LBB4_4: # %bb3 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $42, %eax -; X64-PIC-NEXT: jmp .LBB4_2 -; X64-PIC-NEXT: .LBB4_3: # %bb1 -; X64-PIC-NEXT: leaq .LBB4_3(%rip), %rsi +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq +; X64-PIC-NEXT: .LBB4_2: # %bb1 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx -; X64-PIC-NEXT: movl $7, %eax -; X64-PIC-NEXT: .LBB4_2: # %bb0 ; X64-PIC-NEXT: shlq $47, %rcx +; X64-PIC-NEXT: movl $7, %eax ; X64-PIC-NEXT: orq %rcx, %rsp ; X64-PIC-NEXT: retq ; @@ -341,27 +351,32 @@ ; X64-NEXT: .LBB5_1: # %bb0 ; X64-NEXT: cmpq $.LBB5_1, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $2, %eax -; X64-NEXT: jmp .LBB5_2 +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq ; X64-NEXT: .Ltmp1: # Block address taken -; X64-NEXT: .LBB5_4: # %bb2 -; X64-NEXT: cmpq $.LBB5_4, %rdx +; X64-NEXT: .LBB5_3: # %bb2 +; X64-NEXT: cmpq $.LBB5_3, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $13, %eax -; X64-NEXT: jmp .LBB5_2 +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq ; X64-NEXT: .Ltmp2: # Block address taken -; X64-NEXT: .LBB5_5: # %bb3 -; X64-NEXT: cmpq $.LBB5_5, %rdx +; X64-NEXT: .LBB5_4: # %bb3 +; X64-NEXT: cmpq $.LBB5_4, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $42, %eax -; X64-NEXT: jmp .LBB5_2 +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq ; X64-NEXT: .Ltmp3: # Block address taken -; X64-NEXT: .LBB5_3: # %bb1 -; X64-NEXT: cmpq $.LBB5_3, %rdx +; X64-NEXT: .LBB5_2: # %bb1 +; X64-NEXT: cmpq $.LBB5_2, %rdx ; X64-NEXT: cmovneq %rax, %rcx -; X64-NEXT: movl $7, %eax -; X64-NEXT: .LBB5_2: # %bb0 ; X64-NEXT: shlq $47, %rcx +; X64-NEXT: movl $7, %eax ; X64-NEXT: orq %rcx, %rsp ; X64-NEXT: retq ; @@ -371,39 +386,44 @@ ; X64-PIC-NEXT: movq $-1, %rax ; X64-PIC-NEXT: sarq $63, %rcx ; X64-PIC-NEXT: movslq %edi, %rdx -; X64-PIC-NEXT: movq global_blockaddrs@GOTPCREL(%rip), %rsi +; X64-PIC-NEXT: movq global_blockaddrs@{{.*}}(%rip), %rsi ; X64-PIC-NEXT: movq (%rsi,%rdx,8), %rdx ; X64-PIC-NEXT: orq %rcx, %rdx ; X64-PIC-NEXT: jmpq *%rdx ; X64-PIC-NEXT: .Ltmp0: # Block address taken ; X64-PIC-NEXT: .LBB5_1: # %bb0 -; X64-PIC-NEXT: leaq .LBB5_1(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $2, %eax -; X64-PIC-NEXT: jmp .LBB5_2 +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq ; X64-PIC-NEXT: .Ltmp1: # Block address taken -; X64-PIC-NEXT: .LBB5_4: # %bb2 -; X64-PIC-NEXT: leaq .LBB5_4(%rip), %rsi +; X64-PIC-NEXT: .LBB5_3: # %bb2 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $13, %eax -; X64-PIC-NEXT: jmp .LBB5_2 +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq ; X64-PIC-NEXT: .Ltmp2: # Block address taken -; X64-PIC-NEXT: .LBB5_5: # %bb3 -; X64-PIC-NEXT: leaq .LBB5_5(%rip), %rsi +; X64-PIC-NEXT: .LBB5_4: # %bb3 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $42, %eax -; X64-PIC-NEXT: jmp .LBB5_2 +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq ; X64-PIC-NEXT: .Ltmp3: # Block address taken -; X64-PIC-NEXT: .LBB5_3: # %bb1 -; X64-PIC-NEXT: leaq .LBB5_3(%rip), %rsi +; X64-PIC-NEXT: .LBB5_2: # %bb1 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx -; X64-PIC-NEXT: movl $7, %eax -; X64-PIC-NEXT: .LBB5_2: # %bb0 ; X64-PIC-NEXT: shlq $47, %rcx +; X64-PIC-NEXT: movl $7, %eax ; X64-PIC-NEXT: orq %rcx, %rsp ; X64-PIC-NEXT: retq ; @@ -416,36 +436,41 @@ ; X64-RETPOLINE-NEXT: movq global_blockaddrs(,%rdx,8), %rdx ; X64-RETPOLINE-NEXT: orq %rcx, %rdx ; X64-RETPOLINE-NEXT: cmpq $2, %rdx -; X64-RETPOLINE-NEXT: je .LBB6_5 +; X64-RETPOLINE-NEXT: je .LBB6_4 ; X64-RETPOLINE-NEXT: # %bb.1: # %entry ; X64-RETPOLINE-NEXT: cmoveq %rax, %rcx ; X64-RETPOLINE-NEXT: cmpq $3, %rdx -; X64-RETPOLINE-NEXT: je .LBB6_6 +; X64-RETPOLINE-NEXT: je .LBB6_5 ; X64-RETPOLINE-NEXT: # %bb.2: # %entry ; X64-RETPOLINE-NEXT: cmoveq %rax, %rcx ; X64-RETPOLINE-NEXT: cmpq $4, %rdx ; X64-RETPOLINE-NEXT: jne .LBB6_3 ; X64-RETPOLINE-NEXT: .Ltmp0: # Block address taken -; X64-RETPOLINE-NEXT: # %bb.7: # %bb3 +; X64-RETPOLINE-NEXT: # %bb.6: # %bb3 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $42, %eax -; X64-RETPOLINE-NEXT: jmp .LBB6_4 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq ; X64-RETPOLINE-NEXT: .Ltmp1: # Block address taken -; X64-RETPOLINE-NEXT: .LBB6_5: # %bb1 +; X64-RETPOLINE-NEXT: .LBB6_4: # %bb1 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $7, %eax -; X64-RETPOLINE-NEXT: jmp .LBB6_4 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq ; X64-RETPOLINE-NEXT: .Ltmp2: # Block address taken -; X64-RETPOLINE-NEXT: .LBB6_6: # %bb2 +; X64-RETPOLINE-NEXT: .LBB6_5: # %bb2 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $13, %eax -; X64-RETPOLINE-NEXT: jmp .LBB6_4 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq ; X64-RETPOLINE-NEXT: .Ltmp3: # Block address taken ; X64-RETPOLINE-NEXT: .LBB6_3: # %bb0 ; X64-RETPOLINE-NEXT: cmoveq %rax, %rcx -; X64-RETPOLINE-NEXT: movl $2, %eax -; X64-RETPOLINE-NEXT: .LBB6_4: # %bb0 ; X64-RETPOLINE-NEXT: shlq $47, %rcx +; X64-RETPOLINE-NEXT: movl $2, %eax ; X64-RETPOLINE-NEXT: orq %rcx, %rsp ; X64-RETPOLINE-NEXT: retq entry: @@ -482,31 +507,38 @@ ; X64-NEXT: movq .LJTI6_0(,%rdx,8), %rdx ; X64-NEXT: orq %rcx, %rdx ; X64-NEXT: jmpq *%rdx -; X64-NEXT: .LBB6_4: # %bb1 -; X64-NEXT: cmpq $.LBB6_4, %rdx +; X64-NEXT: .LBB6_3: # %bb1 +; X64-NEXT: cmpq $.LBB6_3, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $7, %eax -; X64-NEXT: jmp .LBB6_3 +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq ; X64-NEXT: .LBB6_2: # %bb0 ; X64-NEXT: cmovbeq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $2, %eax -; X64-NEXT: jmp .LBB6_3 -; X64-NEXT: .LBB6_5: # %bb2 -; X64-NEXT: cmpq $.LBB6_5, %rdx +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq +; X64-NEXT: .LBB6_4: # %bb2 +; X64-NEXT: cmpq $.LBB6_4, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $13, %eax -; X64-NEXT: jmp .LBB6_3 -; X64-NEXT: .LBB6_6: # %bb3 -; X64-NEXT: cmpq $.LBB6_6, %rdx +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq +; X64-NEXT: .LBB6_5: # %bb3 +; X64-NEXT: cmpq $.LBB6_5, %rdx ; X64-NEXT: cmovneq %rax, %rcx +; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movl $42, %eax -; X64-NEXT: jmp .LBB6_3 -; X64-NEXT: .LBB6_7: # %bb5 -; X64-NEXT: cmpq $.LBB6_7, %rdx +; X64-NEXT: orq %rcx, %rsp +; X64-NEXT: retq +; X64-NEXT: .LBB6_6: # %bb5 +; X64-NEXT: cmpq $.LBB6_6, %rdx ; X64-NEXT: cmovneq %rax, %rcx -; X64-NEXT: movl $11, %eax -; X64-NEXT: .LBB6_3: # %bb0 ; X64-NEXT: shlq $47, %rcx +; X64-NEXT: movl $11, %eax ; X64-NEXT: orq %rcx, %rsp ; X64-NEXT: retq ; @@ -520,40 +552,47 @@ ; X64-PIC-NEXT: # %bb.1: # %entry ; X64-PIC-NEXT: cmovaq %rax, %rcx ; X64-PIC-NEXT: movl %edi, %edx -; X64-PIC-NEXT: leaq .LJTI6_0(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: movslq (%rsi,%rdx,4), %rdx ; X64-PIC-NEXT: addq %rsi, %rdx ; X64-PIC-NEXT: orq %rcx, %rdx ; X64-PIC-NEXT: jmpq *%rdx -; X64-PIC-NEXT: .LBB6_4: # %bb1 -; X64-PIC-NEXT: leaq .LBB6_4(%rip), %rsi +; X64-PIC-NEXT: .LBB6_3: # %bb1 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $7, %eax -; X64-PIC-NEXT: jmp .LBB6_3 +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq ; X64-PIC-NEXT: .LBB6_2: # %bb0 ; X64-PIC-NEXT: cmovbeq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $2, %eax -; X64-PIC-NEXT: jmp .LBB6_3 -; X64-PIC-NEXT: .LBB6_5: # %bb2 -; X64-PIC-NEXT: leaq .LBB6_5(%rip), %rsi +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq +; X64-PIC-NEXT: .LBB6_4: # %bb2 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $13, %eax -; X64-PIC-NEXT: jmp .LBB6_3 -; X64-PIC-NEXT: .LBB6_6: # %bb3 -; X64-PIC-NEXT: leaq .LBB6_6(%rip), %rsi +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq +; X64-PIC-NEXT: .LBB6_5: # %bb3 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx +; X64-PIC-NEXT: shlq $47, %rcx ; X64-PIC-NEXT: movl $42, %eax -; X64-PIC-NEXT: jmp .LBB6_3 -; X64-PIC-NEXT: .LBB6_7: # %bb5 -; X64-PIC-NEXT: leaq .LBB6_7(%rip), %rsi +; X64-PIC-NEXT: orq %rcx, %rsp +; X64-PIC-NEXT: retq +; X64-PIC-NEXT: .LBB6_6: # %bb5 +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: cmpq %rsi, %rdx ; X64-PIC-NEXT: cmovneq %rax, %rcx -; X64-PIC-NEXT: movl $11, %eax -; X64-PIC-NEXT: .LBB6_3: # %bb0 ; X64-PIC-NEXT: shlq $47, %rcx +; X64-PIC-NEXT: movl $11, %eax ; X64-PIC-NEXT: orq %rcx, %rsp ; X64-PIC-NEXT: retq ; @@ -567,40 +606,47 @@ ; X64-RETPOLINE-NEXT: # %bb.1: # %entry ; X64-RETPOLINE-NEXT: cmovgq %rax, %rcx ; X64-RETPOLINE-NEXT: testl %edi, %edi -; X64-RETPOLINE-NEXT: je .LBB7_8 +; X64-RETPOLINE-NEXT: je .LBB7_7 ; X64-RETPOLINE-NEXT: # %bb.2: # %entry ; X64-RETPOLINE-NEXT: cmoveq %rax, %rcx ; X64-RETPOLINE-NEXT: cmpl $1, %edi ; X64-RETPOLINE-NEXT: jne .LBB7_6 ; X64-RETPOLINE-NEXT: # %bb.3: # %bb2 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $13, %eax -; X64-RETPOLINE-NEXT: jmp .LBB7_7 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq ; X64-RETPOLINE-NEXT: .LBB7_4: # %entry ; X64-RETPOLINE-NEXT: cmovleq %rax, %rcx ; X64-RETPOLINE-NEXT: cmpl $2, %edi -; X64-RETPOLINE-NEXT: je .LBB7_9 +; X64-RETPOLINE-NEXT: je .LBB7_8 ; X64-RETPOLINE-NEXT: # %bb.5: # %entry ; X64-RETPOLINE-NEXT: cmoveq %rax, %rcx ; X64-RETPOLINE-NEXT: cmpl $3, %edi ; X64-RETPOLINE-NEXT: jne .LBB7_6 -; X64-RETPOLINE-NEXT: # %bb.10: # %bb5 +; X64-RETPOLINE-NEXT: # %bb.9: # %bb5 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $11, %eax -; X64-RETPOLINE-NEXT: jmp .LBB7_7 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq ; X64-RETPOLINE-NEXT: .LBB7_6: ; X64-RETPOLINE-NEXT: cmoveq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $2, %eax -; X64-RETPOLINE-NEXT: jmp .LBB7_7 -; X64-RETPOLINE-NEXT: .LBB7_8: # %bb1 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq +; X64-RETPOLINE-NEXT: .LBB7_7: # %bb1 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx +; X64-RETPOLINE-NEXT: shlq $47, %rcx ; X64-RETPOLINE-NEXT: movl $7, %eax -; X64-RETPOLINE-NEXT: jmp .LBB7_7 -; X64-RETPOLINE-NEXT: .LBB7_9: # %bb3 +; X64-RETPOLINE-NEXT: orq %rcx, %rsp +; X64-RETPOLINE-NEXT: retq +; X64-RETPOLINE-NEXT: .LBB7_8: # %bb3 ; X64-RETPOLINE-NEXT: cmovneq %rax, %rcx -; X64-RETPOLINE-NEXT: movl $42, %eax -; X64-RETPOLINE-NEXT: .LBB7_7: # %bb0 ; X64-RETPOLINE-NEXT: shlq $47, %rcx +; X64-RETPOLINE-NEXT: movl $42, %eax ; X64-RETPOLINE-NEXT: orq %rcx, %rsp ; X64-RETPOLINE-NEXT: retq entry: @@ -687,7 +733,7 @@ ; X64-PIC-NEXT: cmovaq %r10, %r9 ; X64-PIC-NEXT: xorl %eax, %eax ; X64-PIC-NEXT: movl %edi, %esi -; X64-PIC-NEXT: leaq .LJTI7_0(%rip), %rdi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rdi ; X64-PIC-NEXT: movslq (%rdi,%rsi,4), %rsi ; X64-PIC-NEXT: addq %rdi, %rsi ; X64-PIC-NEXT: orq %r9, %rsi @@ -696,30 +742,30 @@ ; X64-PIC-NEXT: cmovbeq %r10, %r9 ; X64-PIC-NEXT: movl (%rsi), %eax ; X64-PIC-NEXT: orl %r9d, %eax -; X64-PIC-NEXT: leaq .LBB7_3(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: .LBB7_3: # %bb1 -; X64-PIC-NEXT: leaq .LBB7_3(%rip), %rdi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rdi ; X64-PIC-NEXT: cmpq %rdi, %rsi ; X64-PIC-NEXT: cmovneq %r10, %r9 ; X64-PIC-NEXT: addl (%rdx), %eax ; X64-PIC-NEXT: orl %r9d, %eax -; X64-PIC-NEXT: leaq .LBB7_4(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: .LBB7_4: # %bb2 -; X64-PIC-NEXT: leaq .LBB7_4(%rip), %rdx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rdx ; X64-PIC-NEXT: cmpq %rdx, %rsi ; X64-PIC-NEXT: cmovneq %r10, %r9 ; X64-PIC-NEXT: addl (%rcx), %eax ; X64-PIC-NEXT: orl %r9d, %eax -; X64-PIC-NEXT: leaq .LBB7_5(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: .LBB7_5: # %bb3 -; X64-PIC-NEXT: leaq .LBB7_5(%rip), %rcx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; X64-PIC-NEXT: cmpq %rcx, %rsi ; X64-PIC-NEXT: cmovneq %r10, %r9 ; X64-PIC-NEXT: addl (%r8), %eax ; X64-PIC-NEXT: orl %r9d, %eax -; X64-PIC-NEXT: leaq .LBB7_6(%rip), %rsi +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rsi ; X64-PIC-NEXT: .LBB7_6: # %bb4 -; X64-PIC-NEXT: leaq .LBB7_6(%rip), %rcx +; X64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; X64-PIC-NEXT: cmpq %rcx, %rsi ; X64-PIC-NEXT: cmovneq %r10, %r9 ; X64-PIC-NEXT: shlq $47, %r9 Index: llvm/test/CodeGen/X86/speculative-load-hardening.ll =================================================================== --- llvm/test/CodeGen/X86/speculative-load-hardening.ll +++ llvm/test/CodeGen/X86/speculative-load-hardening.ll @@ -538,10 +538,10 @@ ; X64-NEXT: cmovneq %r15, %rcx ; X64-NEXT: movl %ebp, (%rax) ; X64-NEXT: .Ltmp0: -; X64-NEXT: xorl %esi, %esi -; X64-NEXT: xorl %edx, %edx ; X64-NEXT: shlq $47, %rcx ; X64-NEXT: movq %rax, %rdi +; X64-NEXT: xorl %esi, %esi +; X64-NEXT: xorl %edx, %edx ; X64-NEXT: orq %rcx, %rsp ; X64-NEXT: callq __cxa_throw ; X64-NEXT: .Lslh_ret_addr5: @@ -612,9 +612,9 @@ ; X64-LFENCE-NEXT: callq __cxa_allocate_exception ; X64-LFENCE-NEXT: movl %ebp, (%rax) ; X64-LFENCE-NEXT: .Ltmp0: +; X64-LFENCE-NEXT: movq %rax, %rdi ; X64-LFENCE-NEXT: xorl %esi, %esi ; X64-LFENCE-NEXT: xorl %edx, %edx -; X64-LFENCE-NEXT: movq %rax, %rdi ; X64-LFENCE-NEXT: callq __cxa_throw ; X64-LFENCE-NEXT: .Ltmp1: ; X64-LFENCE-NEXT: .LBB4_2: # %exit Index: llvm/test/CodeGen/X86/sse42-intrinsics-x86.ll =================================================================== --- llvm/test/CodeGen/X86/sse42-intrinsics-x86.ll +++ llvm/test/CodeGen/X86/sse42-intrinsics-x86.ll @@ -99,9 +99,9 @@ ; X86-SSE-LABEL: test_x86_sse42_pcmpestria128: ; X86-SSE: ## %bb.0: ; X86-SSE-NEXT: pushl %ebx ## encoding: [0x53] +; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X86-SSE-NEXT: seta %bl ## encoding: [0x0f,0x97,0xc3] ; X86-SSE-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -111,9 +111,9 @@ ; X86-AVX-LABEL: test_x86_sse42_pcmpestria128: ; X86-AVX: ## %bb.0: ; X86-AVX-NEXT: pushl %ebx ## encoding: [0x53] +; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X86-AVX-NEXT: seta %bl ## encoding: [0x0f,0x97,0xc3] ; X86-AVX-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -122,9 +122,9 @@ ; ; X64-SSE-LABEL: test_x86_sse42_pcmpestria128: ; X64-SSE: ## %bb.0: +; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X64-SSE-NEXT: seta %sil ## encoding: [0x40,0x0f,0x97,0xc6] ; X64-SSE-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -132,9 +132,9 @@ ; ; X64-AVX-LABEL: test_x86_sse42_pcmpestria128: ; X64-AVX: ## %bb.0: +; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X64-AVX-NEXT: seta %sil ## encoding: [0x40,0x0f,0x97,0xc6] ; X64-AVX-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -149,9 +149,9 @@ ; X86-SSE-LABEL: test_x86_sse42_pcmpestric128: ; X86-SSE: ## %bb.0: ; X86-SSE-NEXT: pushl %ebx ## encoding: [0x53] +; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X86-SSE-NEXT: setb %bl ## encoding: [0x0f,0x92,0xc3] ; X86-SSE-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -161,9 +161,9 @@ ; X86-AVX-LABEL: test_x86_sse42_pcmpestric128: ; X86-AVX: ## %bb.0: ; X86-AVX-NEXT: pushl %ebx ## encoding: [0x53] +; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X86-AVX-NEXT: setb %bl ## encoding: [0x0f,0x92,0xc3] ; X86-AVX-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -172,9 +172,9 @@ ; ; X64-SSE-LABEL: test_x86_sse42_pcmpestric128: ; X64-SSE: ## %bb.0: +; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X64-SSE-NEXT: setb %sil ## encoding: [0x40,0x0f,0x92,0xc6] ; X64-SSE-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -182,9 +182,9 @@ ; ; X64-AVX-LABEL: test_x86_sse42_pcmpestric128: ; X64-AVX: ## %bb.0: +; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X64-AVX-NEXT: setb %sil ## encoding: [0x40,0x0f,0x92,0xc6] ; X64-AVX-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -199,9 +199,9 @@ ; X86-SSE-LABEL: test_x86_sse42_pcmpestrio128: ; X86-SSE: ## %bb.0: ; X86-SSE-NEXT: pushl %ebx ## encoding: [0x53] +; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X86-SSE-NEXT: seto %bl ## encoding: [0x0f,0x90,0xc3] ; X86-SSE-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -211,9 +211,9 @@ ; X86-AVX-LABEL: test_x86_sse42_pcmpestrio128: ; X86-AVX: ## %bb.0: ; X86-AVX-NEXT: pushl %ebx ## encoding: [0x53] +; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X86-AVX-NEXT: seto %bl ## encoding: [0x0f,0x90,0xc3] ; X86-AVX-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -222,9 +222,9 @@ ; ; X64-SSE-LABEL: test_x86_sse42_pcmpestrio128: ; X64-SSE: ## %bb.0: +; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X64-SSE-NEXT: seto %sil ## encoding: [0x40,0x0f,0x90,0xc6] ; X64-SSE-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -232,9 +232,9 @@ ; ; X64-AVX-LABEL: test_x86_sse42_pcmpestrio128: ; X64-AVX: ## %bb.0: +; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X64-AVX-NEXT: seto %sil ## encoding: [0x40,0x0f,0x90,0xc6] ; X64-AVX-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -249,9 +249,9 @@ ; X86-SSE-LABEL: test_x86_sse42_pcmpestris128: ; X86-SSE: ## %bb.0: ; X86-SSE-NEXT: pushl %ebx ## encoding: [0x53] +; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X86-SSE-NEXT: sets %bl ## encoding: [0x0f,0x98,0xc3] ; X86-SSE-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -261,9 +261,9 @@ ; X86-AVX-LABEL: test_x86_sse42_pcmpestris128: ; X86-AVX: ## %bb.0: ; X86-AVX-NEXT: pushl %ebx ## encoding: [0x53] +; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X86-AVX-NEXT: sets %bl ## encoding: [0x0f,0x98,0xc3] ; X86-AVX-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -272,9 +272,9 @@ ; ; X64-SSE-LABEL: test_x86_sse42_pcmpestris128: ; X64-SSE: ## %bb.0: +; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X64-SSE-NEXT: sets %sil ## encoding: [0x40,0x0f,0x98,0xc6] ; X64-SSE-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -282,9 +282,9 @@ ; ; X64-AVX-LABEL: test_x86_sse42_pcmpestris128: ; X64-AVX: ## %bb.0: +; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X64-AVX-NEXT: sets %sil ## encoding: [0x40,0x0f,0x98,0xc6] ; X64-AVX-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -299,9 +299,9 @@ ; X86-SSE-LABEL: test_x86_sse42_pcmpestriz128: ; X86-SSE: ## %bb.0: ; X86-SSE-NEXT: pushl %ebx ## encoding: [0x53] +; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-SSE-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X86-SSE-NEXT: sete %bl ## encoding: [0x0f,0x94,0xc3] ; X86-SSE-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -311,9 +311,9 @@ ; X86-AVX-LABEL: test_x86_sse42_pcmpestriz128: ; X86-AVX: ## %bb.0: ; X86-AVX-NEXT: pushl %ebx ## encoding: [0x53] +; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X86-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X86-AVX-NEXT: xorl %ebx, %ebx ## encoding: [0x31,0xdb] ; X86-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X86-AVX-NEXT: sete %bl ## encoding: [0x0f,0x94,0xc3] ; X86-AVX-NEXT: movl %ebx, %eax ## encoding: [0x89,0xd8] @@ -322,9 +322,9 @@ ; ; X64-SSE-LABEL: test_x86_sse42_pcmpestriz128: ; X64-SSE: ## %bb.0: +; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-SSE-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-SSE-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-SSE-NEXT: pcmpestri $7, %xmm1, %xmm0 ## encoding: [0x66,0x0f,0x3a,0x61,0xc1,0x07] ; X64-SSE-NEXT: sete %sil ## encoding: [0x40,0x0f,0x94,0xc6] ; X64-SSE-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] @@ -332,9 +332,9 @@ ; ; X64-AVX-LABEL: test_x86_sse42_pcmpestriz128: ; X64-AVX: ## %bb.0: +; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: movl $7, %eax ## encoding: [0xb8,0x07,0x00,0x00,0x00] ; X64-AVX-NEXT: movl $7, %edx ## encoding: [0xba,0x07,0x00,0x00,0x00] -; X64-AVX-NEXT: xorl %esi, %esi ## encoding: [0x31,0xf6] ; X64-AVX-NEXT: vpcmpestri $7, %xmm1, %xmm0 ## encoding: [0xc4,0xe3,0x79,0x61,0xc1,0x07] ; X64-AVX-NEXT: sete %sil ## encoding: [0x40,0x0f,0x94,0xc6] ; X64-AVX-NEXT: movl %esi, %eax ## encoding: [0x89,0xf0] Index: llvm/test/CodeGen/X86/vector-idiv-v2i32.ll =================================================================== --- llvm/test/CodeGen/X86/vector-idiv-v2i32.ll +++ llvm/test/CodeGen/X86/vector-idiv-v2i32.ll @@ -839,8 +839,8 @@ ; X86-NEXT: xorl %edx, %edx ; X86-NEXT: divl %esi ; X86-NEXT: movl %eax, %esi -; X86-NEXT: xorl %edx, %edx ; X86-NEXT: movl %ecx, %eax +; X86-NEXT: xorl %edx, %edx ; X86-NEXT: divl %ebx ; X86-NEXT: movd %eax, %xmm0 ; X86-NEXT: movd %esi, %xmm1 @@ -885,8 +885,8 @@ ; X86_WIDEN-NEXT: xorl %edx, %edx ; X86_WIDEN-NEXT: divl (%ebx) ; X86_WIDEN-NEXT: movl %eax, %esi -; X86_WIDEN-NEXT: xorl %edx, %edx ; X86_WIDEN-NEXT: movl %ecx, %eax +; X86_WIDEN-NEXT: xorl %edx, %edx ; X86_WIDEN-NEXT: divl 4(%ebx) ; X86_WIDEN-NEXT: movl %eax, 4(%edi) ; X86_WIDEN-NEXT: movl %esi, (%edi) @@ -943,8 +943,8 @@ ; X86-NEXT: xorl %edx, %edx ; X86-NEXT: divl %esi ; X86-NEXT: movl %edx, %esi -; X86-NEXT: xorl %edx, %edx ; X86-NEXT: movl %ecx, %eax +; X86-NEXT: xorl %edx, %edx ; X86-NEXT: divl %ebx ; X86-NEXT: movd %edx, %xmm0 ; X86-NEXT: movd %esi, %xmm1 @@ -989,8 +989,8 @@ ; X86_WIDEN-NEXT: xorl %edx, %edx ; X86_WIDEN-NEXT: divl (%ebx) ; X86_WIDEN-NEXT: movl %edx, %esi -; X86_WIDEN-NEXT: xorl %edx, %edx ; X86_WIDEN-NEXT: movl %ecx, %eax +; X86_WIDEN-NEXT: xorl %edx, %edx ; X86_WIDEN-NEXT: divl 4(%ebx) ; X86_WIDEN-NEXT: movl %edx, 4(%edi) ; X86_WIDEN-NEXT: movl %esi, (%edi) Index: llvm/test/CodeGen/X86/vector-rem.ll =================================================================== --- llvm/test/CodeGen/X86/vector-rem.ll +++ llvm/test/CodeGen/X86/vector-rem.ll @@ -81,30 +81,30 @@ ; CHECK-LABEL: qux: ; CHECK: # %bb.0: ; CHECK-NEXT: subq $72, %rsp -; CHECK-NEXT: movaps %xmm1, {{[0-9]+}}(%rsp) # 16-byte Spill -; CHECK-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp) # 16-byte Spill +; CHECK-NEXT: movaps %xmm1, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill +; CHECK-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill ; CHECK-NEXT: shufps {{.*#+}} xmm0 = xmm0[3,1,2,3] ; CHECK-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,1,2,3] ; CHECK-NEXT: callq fmodf ; CHECK-NEXT: movaps %xmm0, (%rsp) # 16-byte Spill -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0 # 16-byte Reload +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload ; CHECK-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1] -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload ; CHECK-NEXT: movhlps {{.*#+}} xmm1 = xmm1[1,1] ; CHECK-NEXT: callq fmodf ; CHECK-NEXT: unpcklps (%rsp), %xmm0 # 16-byte Folded Reload ; CHECK-NEXT: # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1] ; CHECK-NEXT: movaps %xmm0, (%rsp) # 16-byte Spill -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0 # 16-byte Reload -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload ; CHECK-NEXT: callq fmodf -; CHECK-NEXT: movaps %xmm0, {{[0-9]+}}(%rsp) # 16-byte Spill -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm0 # 16-byte Reload +; CHECK-NEXT: movaps %xmm0, {{[-0-9]+}}(%r{{[sb]}}p) # 16-byte Spill +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm0 # 16-byte Reload ; CHECK-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,2,3] -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload ; CHECK-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,1,2,3] ; CHECK-NEXT: callq fmodf -; CHECK-NEXT: movaps {{[0-9]+}}(%rsp), %xmm1 # 16-byte Reload +; CHECK-NEXT: movaps {{[-0-9]+}}(%r{{[sb]}}p), %xmm1 # 16-byte Reload ; CHECK-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1] ; CHECK-NEXT: unpcklpd (%rsp), %xmm1 # 16-byte Folded Reload ; CHECK-NEXT: # xmm1 = xmm1[0],mem[0] Index: llvm/test/CodeGen/X86/x86-cmov-converter.ll =================================================================== --- llvm/test/CodeGen/X86/x86-cmov-converter.ll +++ llvm/test/CodeGen/X86/x86-cmov-converter.ll @@ -103,7 +103,7 @@ ; CHECK-LABEL: CmovInHotPath ; CHECK-NOT: cmov -; CHECK: jg +; CHECK: jne define void @CmovInHotPath(i32 %n, i32 %a, i32 %b, i32* nocapture %c, i32* nocapture readnone %d) #0 { entry: @@ -296,9 +296,9 @@ ; CHECK-LABEL: Transform ; CHECK-NOT: cmov ; CHECK: divl [[a:%[0-9a-z]*]] -; CHECK: movl $11, [[s1:%[0-9a-z]*]] -; CHECK: movl [[a]], [[s2:%[0-9a-z]*]] -; CHECK: cmpl [[a]], %edx +; CHECK-DAG: movl $11, [[s1:%[0-9a-z]*]] +; CHECK-DAG: movl [[a]], [[s2:%[0-9a-z]*]] +; CHECK-DAG: cmpl [[a]], %edx ; CHECK: ja [[SinkBB:.*]] ; CHECK: [[FalseBB:.*]]: ; CHECK: movl $22, [[s1]] Index: llvm/test/CodeGen/X86/x86-shrink-wrapping.ll =================================================================== --- llvm/test/CodeGen/X86/x86-shrink-wrapping.ll +++ llvm/test/CodeGen/X86/x86-shrink-wrapping.ll @@ -427,41 +427,38 @@ ; Check that we handle calls to variadic functions correctly. ; CHECK-LABEL: callVariadicFunc: ; +; ENABLE: movl %esi, %eax ; ENABLE: testl %edi, %edi ; ENABLE-NEXT: je [[ELSE_LABEL:LBB[0-9_]+]] ; ; Prologue code. ; CHECK: pushq ; +; DISABLE: movl %esi, %eax ; DISABLE: testl %edi, %edi ; DISABLE-NEXT: je [[ELSE_LABEL:LBB[0-9_]+]] ; ; Setup of the varags. -; CHECK: movl %esi, (%rsp) -; CHECK-NEXT: xorl %eax, %eax -; CHECK-NEXT: %esi, %edi -; CHECK-NEXT: %esi, %edx -; CHECK-NEXT: %esi, %ecx -; CHECK-NEXT: %esi, %r8d -; CHECK-NEXT: %esi, %r9d +; CHECK: movl %eax, (%rsp) +; CHECK-NEXT: movl %eax, %edi +; CHECK-NEXT: movl %eax, %esi +; CHECK-NEXT: movl %eax, %edx +; CHECK-NEXT: movl %eax, %ecx +; CHECK-NEXT: movl %eax, %r8d +; CHECK-NEXT: movl %eax, %r9d +; CHECK-NEXT: xorl %eax, %eax ; CHECK-NEXT: callq _someVariadicFunc -; CHECK-NEXT: movl %eax, %esi -; CHECK-NEXT: shll $3, %esi +; CHECK-NEXT: shll $3, %eax ; ; ENABLE-NEXT: addq $8, %rsp -; ENABLE-NEXT: movl %esi, %eax ; ENABLE-NEXT: retq ; -; DISABLE: jmp [[IFEND_LABEL:LBB[0-9_]+]] -; + ; CHECK: [[ELSE_LABEL]]: ## %if.else ; Shift second argument by one and store into returned register. -; CHECK: addl %esi, %esi -; -; DISABLE: [[IFEND_LABEL]]: ## %if.end +; CHECK: addl %eax, %eax ; ; Epilogue code. -; CHECK-NEXT: movl %esi, %eax ; DISABLE-NEXT: popq ; CHECK-NEXT: retq define i32 @callVariadicFunc(i32 %cond, i32 %N) { Index: llvm/test/DebugInfo/X86/live-debug-values.ll =================================================================== --- llvm/test/DebugInfo/X86/live-debug-values.ll +++ llvm/test/DebugInfo/X86/live-debug-values.ll @@ -33,7 +33,7 @@ ; CHECK-NEXT: #DEBUG_VALUE: main:n <- $ebx ; Other register values have been clobbered. ; CHECK-NOT: #DEBUG_VALUE: -; CHECK: movl %esi, m(%rip) +; CHECK: movl %e{{..}}, m(%rip) ; ModuleID = 'LiveDebugValues.c' source_filename = "test/DebugInfo/X86/live-debug-values.ll"