From 5403c59c608c08c8ecd4303763f08eb046eb5e4d Mon Sep 17 00:00:00 2001 From: Kai Nacke Date: Fri, 7 Oct 2022 18:34:40 +0000 Subject: [PATCH] [PPC] Opaque pointer migration, part 2. The LIT test cases were migrated with the script provided by Nikita Popov. Due to the size of the change it is split into several parts. Reviewed By: nemanja, nikic Differential Revision: https://reviews.llvm.org/D135474 --- .../PowerPC/opt-builtins-ppc-xlcompat-cas.ll | 44 +- llvm/test/CodeGen/PowerPC/opt-cmp-inst-cr0-live.ll | 22 +- llvm/test/CodeGen/PowerPC/opt-li-add-to-addi.ll | 6 +- llvm/test/CodeGen/PowerPC/optcmp.ll | 44 +- llvm/test/CodeGen/PowerPC/or-addressing-mode.ll | 12 +- llvm/test/CodeGen/PowerPC/out-of-range-dform.ll | 17 +- .../PowerPC/overflow-intrinsic-optimizations.ll | 4 +- llvm/test/CodeGen/PowerPC/p10-constants.ll | 2 +- llvm/test/CodeGen/PowerPC/p10-setbc-ri.ll | 26 +- llvm/test/CodeGen/PowerPC/p10-setbc-rr.ll | 50 +- llvm/test/CodeGen/PowerPC/p10-setbcr-ri.ll | 8 +- llvm/test/CodeGen/PowerPC/p10-setbcr-rr.ll | 58 +- llvm/test/CodeGen/PowerPC/p10-setnbc-ri.ll | 42 +- llvm/test/CodeGen/PowerPC/p10-setnbc-rr.ll | 74 +- llvm/test/CodeGen/PowerPC/p10-setnbcr-ri.ll | 16 +- llvm/test/CodeGen/PowerPC/p10-setnbcr-rr.ll | 80 +- llvm/test/CodeGen/PowerPC/p10-spill-creq.ll | 46 +- llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll | 18 +- llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll | 14 +- llvm/test/CodeGen/PowerPC/p10-spill-crun.ll | 50 +- llvm/test/CodeGen/PowerPC/p8-isel-sched.ll | 10 +- .../PowerPC/p8-scalar_vector_conversions.ll | 2 +- .../CodeGen/PowerPC/p9-dform-load-alignment.ll | 4 +- llvm/test/CodeGen/PowerPC/p9-vbpermd.ll | 6 +- .../CodeGen/PowerPC/paired-vector-intrinsics.ll | 96 +- llvm/test/CodeGen/PowerPC/pcrel-block-address.ll | 4 +- llvm/test/CodeGen/PowerPC/pcrel-byte-loads.ll | 14 +- .../CodeGen/PowerPC/pcrel-call-linkage-leaf.ll | 4 +- .../CodeGen/PowerPC/pcrel-call-linkage-simple.ll | 12 +- .../PowerPC/pcrel-call-linkage-with-calls.ll | 34 +- llvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll | 50 +- llvm/test/CodeGen/PowerPC/pcrel-indirect-call.ll | 4 +- .../test/CodeGen/PowerPC/pcrel-linkeropt-option.ll | 2 +- llvm/test/CodeGen/PowerPC/pcrel-linkeropt.ll | 98 +- .../test/CodeGen/PowerPC/pcrel-local-caller-toc.ll | 6 +- .../PowerPC/pcrel-relocation-plus-offset.ll | 8 +- llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll | 30 +- .../CodeGen/PowerPC/pcrel-tls-general-dynamic.ll | 6 +- .../test/CodeGen/PowerPC/pcrel-tls-initial-exec.ll | 6 +- .../CodeGen/PowerPC/pcrel-tls-local-dynamic.ll | 6 +- llvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll | 14 +- .../CodeGen/PowerPC/pcrel-tls_get_addr_clobbers.ll | 8 +- llvm/test/CodeGen/PowerPC/pcrel.ll | 4 +- llvm/test/CodeGen/PowerPC/pcrel_ldst.ll | 312 ++-- llvm/test/CodeGen/PowerPC/peephole-align.ll | 102 +- llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll | 26 +- llvm/test/CodeGen/PowerPC/pip-inner.ll | 14 +- llvm/test/CodeGen/PowerPC/popcount.ll | 8 +- llvm/test/CodeGen/PowerPC/post-ra-ec.ll | 27 +- llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll | 167 +- .../CodeGen/PowerPC/power9-moves-and-splats.ll | 18 +- llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll | 167 +- .../test/CodeGen/PowerPC/ppc-32bit-build-vector.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc-32bit-shift.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc-ctr-dead-code.ll | 6 +- .../CodeGen/PowerPC/ppc-disable-non-volatile-cr.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll | 11 +- llvm/test/CodeGen/PowerPC/ppc-label.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc-label2.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll | 8 +- llvm/test/CodeGen/PowerPC/ppc-prologue.ll | 20 +- llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll | 106 +- llvm/test/CodeGen/PowerPC/ppc-vaarg-agg.ll | 6 +- .../CodeGen/PowerPC/ppc32-align-long-double-sf.ll | 6 +- .../CodeGen/PowerPC/ppc32-constant-BE-ppcf128.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc32-i1-vaarg.ll | 4 +- .../CodeGen/PowerPC/ppc32-i64-to-float-conv.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc32-nest.ll | 10 +- llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll | 6 +- llvm/test/CodeGen/PowerPC/ppc32-pic.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls2.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc32-skip-regs.ll | 6 +- llvm/test/CodeGen/PowerPC/ppc32-vacopy.ll | 8 +- llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll | 30 +- llvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll | 30 +- llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll | 4 +- llvm/test/CodeGen/PowerPC/ppc64-abi-extend.ll | 8 +- .../CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc.ll | 58 +- .../CodeGen/PowerPC/ppc64-align-long-double.ll | 6 +- llvm/test/CodeGen/PowerPC/ppc64-blnop.ll | 66 +- llvm/test/CodeGen/PowerPC/ppc64-byval-align.ll | 18 +- .../CodeGen/PowerPC/ppc64-byval-larger-struct.ll | 626 ++++--- .../CodeGen/PowerPC/ppc64-byval-multi-store.ll | 240 ++- llvm/test/CodeGen/PowerPC/ppc64-calls.ll | 8 +- llvm/test/CodeGen/PowerPC/ppc64-crash.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc64-func-desc-hoist.ll | 5 +- .../CodeGen/PowerPC/ppc64-get-cache-line-size.ll | 16 +- llvm/test/CodeGen/PowerPC/ppc64-i128-abi.ll | 16 +- llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll | 6 +- llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr8.ll | 6 +- llvm/test/CodeGen/PowerPC/ppc64-nest.ll | 15 +- llvm/test/CodeGen/PowerPC/ppc64-nonfunc-calls.ll | 6 +- .../CodeGen/PowerPC/ppc64-pre-inc-no-extra-phi.ll | 6 +- llvm/test/CodeGen/PowerPC/ppc64-prefetch.ll | 14 +- .../CodeGen/PowerPC/ppc64-rop-protection-aix.ll | 95 +- llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll | 95 +- .../CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.ll | 13 +- llvm/test/CodeGen/PowerPC/ppc64-sibcall.ll | 83 +- llvm/test/CodeGen/PowerPC/ppc64-smallarg.ll | 14 +- llvm/test/CodeGen/PowerPC/ppc64-toc.ll | 8 +- llvm/test/CodeGen/PowerPC/ppc64-vaarg-int.ll | 9 +- llvm/test/CodeGen/PowerPC/ppc64-varargs.ll | 7 +- .../PowerPC/ppc64-xxsplti32dx-pattern-check.ll | 8 +- llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll | 14 +- llvm/test/CodeGen/PowerPC/ppc64le-calls.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc64le-crsave.ll | 13 +- .../CodeGen/PowerPC/ppc64le-localentry-large.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc64le-localentry.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc64le-smallarg.ll | 14 +- llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll | 6 +- llvm/test/CodeGen/PowerPC/ppcf128-1.ll | 96 +- llvm/test/CodeGen/PowerPC/ppcf128-3.ll | 8 +- .../PowerPC/ppcf128-constrained-fp-intrinsics.ll | 20 +- llvm/test/CodeGen/PowerPC/ppcf128-endian.ll | 21 +- llvm/test/CodeGen/PowerPC/ppcf128sf.ll | 86 +- llvm/test/CodeGen/PowerPC/ppcsoftops.ll | 16 +- llvm/test/CodeGen/PowerPC/pr13891.ll | 7 +- llvm/test/CodeGen/PowerPC/pr15031.ll | 309 ++-- llvm/test/CodeGen/PowerPC/pr15359.ll | 2 +- llvm/test/CodeGen/PowerPC/pr15630.ll | 8 +- llvm/test/CodeGen/PowerPC/pr15632.ll | 2 +- llvm/test/CodeGen/PowerPC/pr16556-2.ll | 17 +- llvm/test/CodeGen/PowerPC/pr16556.ll | 2 +- llvm/test/CodeGen/PowerPC/pr17168.ll | 2 +- llvm/test/CodeGen/PowerPC/pr17354.ll | 9 +- llvm/test/CodeGen/PowerPC/pr18663-2.ll | 26 +- llvm/test/CodeGen/PowerPC/pr18663.ll | 74 +- llvm/test/CodeGen/PowerPC/pr20442.ll | 23 +- llvm/test/CodeGen/PowerPC/pr22711.ll | 42 +- llvm/test/CodeGen/PowerPC/pr24216.ll | 6 +- llvm/test/CodeGen/PowerPC/pr24546.ll | 2 +- llvm/test/CodeGen/PowerPC/pr24636.ll | 2 +- llvm/test/CodeGen/PowerPC/pr25157-peephole.ll | 4 +- llvm/test/CodeGen/PowerPC/pr25157.ll | 4 +- llvm/test/CodeGen/PowerPC/pr26378.ll | 4 +- llvm/test/CodeGen/PowerPC/pr26690.ll | 40 +- llvm/test/CodeGen/PowerPC/pr27078.ll | 14 +- llvm/test/CodeGen/PowerPC/pr27350.ll | 6 +- llvm/test/CodeGen/PowerPC/pr28130.ll | 36 +- llvm/test/CodeGen/PowerPC/pr28630.ll | 2 +- llvm/test/CodeGen/PowerPC/pr30451.ll | 56 +- llvm/test/CodeGen/PowerPC/pr30663.ll | 8 +- llvm/test/CodeGen/PowerPC/pr30715.ll | 37 +- llvm/test/CodeGen/PowerPC/pr31144.ll | 8 +- llvm/test/CodeGen/PowerPC/pr32063.ll | 4 +- llvm/test/CodeGen/PowerPC/pr32140.ll | 12 +- llvm/test/CodeGen/PowerPC/pr33547.ll | 19 +- llvm/test/CodeGen/PowerPC/pr35402.ll | 5 +- llvm/test/CodeGen/PowerPC/pr35688.ll | 6 +- llvm/test/CodeGen/PowerPC/pr36068.ll | 6 +- llvm/test/CodeGen/PowerPC/pr36292.ll | 12 +- llvm/test/CodeGen/PowerPC/pr38087.ll | 6 +- llvm/test/CodeGen/PowerPC/pr39478.ll | 8 +- llvm/test/CodeGen/PowerPC/pr39815.ll | 10 +- llvm/test/CodeGen/PowerPC/pr40922.ll | 8 +- llvm/test/CodeGen/PowerPC/pr41088.ll | 52 +- llvm/test/CodeGen/PowerPC/pr41177.ll | 6 +- llvm/test/CodeGen/PowerPC/pr42492.ll | 16 +- llvm/test/CodeGen/PowerPC/pr43527.ll | 6 +- llvm/test/CodeGen/PowerPC/pr43976.ll | 2 +- llvm/test/CodeGen/PowerPC/pr44183.ll | 21 +- llvm/test/CodeGen/PowerPC/pr45186.ll | 68 +- llvm/test/CodeGen/PowerPC/pr45297.ll | 2 +- llvm/test/CodeGen/PowerPC/pr45301.ll | 22 +- llvm/test/CodeGen/PowerPC/pr45432.ll | 6 +- llvm/test/CodeGen/PowerPC/pr45448.ll | 2 +- llvm/test/CodeGen/PowerPC/pr46759.ll | 2 +- llvm/test/CodeGen/PowerPC/pr46923.ll | 2 +- llvm/test/CodeGen/PowerPC/pr47707.ll | 8 +- llvm/test/CodeGen/PowerPC/pr47891.ll | 69 +- llvm/test/CodeGen/PowerPC/pr47916.ll | 4 +- llvm/test/CodeGen/PowerPC/pr48519.ll | 18 +- llvm/test/CodeGen/PowerPC/pr48527.ll | 8 +- llvm/test/CodeGen/PowerPC/pr49509.ll | 8 +- llvm/test/CodeGen/PowerPC/pr56469.ll | 4 +- llvm/test/CodeGen/PowerPC/pre-inc-disable.ll | 96 +- llvm/test/CodeGen/PowerPC/preinc-ld-sel-crash.ll | 18 +- llvm/test/CodeGen/PowerPC/preincprep-invoke.ll | 16 +- llvm/test/CodeGen/PowerPC/private.ll | 2 +- llvm/test/CodeGen/PowerPC/pwr7-gt-nop.ll | 14 +- llvm/test/CodeGen/PowerPC/quadint-return.ll | 4 +- llvm/test/CodeGen/PowerPC/read-set-flm.ll | 12 +- llvm/test/CodeGen/PowerPC/reduce_cr.ll | 6 +- llvm/test/CodeGen/PowerPC/reduce_scalarization.ll | 26 +- .../test/CodeGen/PowerPC/reduce_scalarization02.ll | 16 +- .../PowerPC/redundant-copy-after-tail-dup.ll | 8 +- llvm/test/CodeGen/PowerPC/reg-coalesce-simple.ll | 6 +- .../CodeGen/PowerPC/register-pressure-reduction.ll | 2 +- llvm/test/CodeGen/PowerPC/reloc-align.ll | 7 +- llvm/test/CodeGen/PowerPC/remat-imm.ll | 4 +- .../rematerializable-instruction-machine-licm.ll | 284 +-- .../CodeGen/PowerPC/remove-redundant-load-imm.ll | 12 +- .../CodeGen/PowerPC/remove-redundant-toc-saves.ll | 17 +- llvm/test/CodeGen/PowerPC/resolvefi-basereg.ll | 485 +++--- llvm/test/CodeGen/PowerPC/resolvefi-disp.ll | 55 +- llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll | 26 +- llvm/test/CodeGen/PowerPC/retaddr.ll | 8 +- llvm/test/CodeGen/PowerPC/retaddr2.ll | 8 +- llvm/test/CodeGen/PowerPC/retaddr_multi_levels.ll | 20 +- llvm/test/CodeGen/PowerPC/return-val-i128.ll | 24 +- llvm/test/CodeGen/PowerPC/rlwimi-and-or-bits.ll | 4 +- llvm/test/CodeGen/PowerPC/rlwimi-and.ll | 6 +- llvm/test/CodeGen/PowerPC/rlwimi-commute.ll | 20 +- llvm/test/CodeGen/PowerPC/rlwimi-dyn-and.ll | 8 +- llvm/test/CodeGen/PowerPC/rlwimi-keep-rsh.ll | 2 +- llvm/test/CodeGen/PowerPC/rm-zext.ll | 8 +- llvm/test/CodeGen/PowerPC/rs-undef-use.ll | 23 +- llvm/test/CodeGen/PowerPC/s000-alias-misched.ll | 60 +- llvm/test/CodeGen/PowerPC/sat-register-clobber.ll | 4 +- llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll | 6 +- llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll | 1368 +++++++-------- llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll | 1368 +++++++-------- llvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll | 1578 ++++++++--------- llvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll | 1631 +++++++++-------- llvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll | 1839 ++++++++++---------- llvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll | 1673 +++++++++--------- llvm/test/CodeGen/PowerPC/scalar_vector_test_1.ll | 52 +- llvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll | 18 +- llvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll | 34 +- llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll | 52 +- llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll | 9 +- .../CodeGen/PowerPC/scalars-in-altivec-regs.ll | 28 +- llvm/test/CodeGen/PowerPC/sched-addi.ll | 96 +- .../CodeGen/PowerPC/scheduling-mem-dependency.ll | 20 +- llvm/test/CodeGen/PowerPC/sdag-ppcf128.ll | 2 +- llvm/test/CodeGen/PowerPC/select-addrRegRegOnly.ll | 16 +- .../selectiondag-extload-computeknownbits.ll | 4 +- llvm/test/CodeGen/PowerPC/selectiondag-sextload.ll | 4 +- llvm/test/CodeGen/PowerPC/setcc-logic.ll | 12 +- llvm/test/CodeGen/PowerPC/setcc-to-sub.ll | 34 +- llvm/test/CodeGen/PowerPC/setcc_no_zext.ll | 4 +- llvm/test/CodeGen/PowerPC/setcclike-or-comb.ll | 6 +- llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll | 25 +- .../test/CodeGen/PowerPC/simplifyConstCmpToISEL.ll | 4 +- llvm/test/CodeGen/PowerPC/sink-side-effect.ll | 8 +- llvm/test/CodeGen/PowerPC/sj-ctr-loop.ll | 4 +- llvm/test/CodeGen/PowerPC/sjlj.ll | 54 +- llvm/test/CodeGen/PowerPC/sjlj_no0x.ll | 4 +- llvm/test/CodeGen/PowerPC/small-arguments.ll | 12 +- llvm/test/CodeGen/PowerPC/sms-cpy-1.ll | 10 +- llvm/test/CodeGen/PowerPC/sms-grp-order.ll | 8 +- llvm/test/CodeGen/PowerPC/sms-iterator.ll | 4 +- llvm/test/CodeGen/PowerPC/sms-phi-2.ll | 6 +- llvm/test/CodeGen/PowerPC/sms-phi-5.ll | 2 +- llvm/test/CodeGen/PowerPC/sms-phi.ll | 6 +- llvm/test/CodeGen/PowerPC/sms-remark.ll | 30 +- llvm/test/CodeGen/PowerPC/sms-simple.ll | 30 +- llvm/test/CodeGen/PowerPC/spe-fastmath.ll | 2 +- llvm/test/CodeGen/PowerPC/spe-hwdouble.ll | 4 +- llvm/test/CodeGen/PowerPC/spe.ll | 159 +- llvm/test/CodeGen/PowerPC/spill-nor0.ll | 2 +- llvm/test/CodeGen/PowerPC/spill-vec-pair.ll | 12 +- llvm/test/CodeGen/PowerPC/spill_p9_setb.ll | 2 +- llvm/test/CodeGen/PowerPC/splat-bug.ll | 2 +- llvm/test/CodeGen/PowerPC/split-index-tc.ll | 15 +- .../CodeGen/PowerPC/splitstore-check-volatile.ll | 8 +- .../CodeGen/PowerPC/stack-clash-dynamic-alloca.ll | 18 +- .../PowerPC/stack-clash-prologue-nounwind.ll | 48 +- llvm/test/CodeGen/PowerPC/stack-clash-prologue.ll | 72 +- llvm/test/CodeGen/PowerPC/stack-guard-oob.ll | 190 +- llvm/test/CodeGen/PowerPC/stack-no-redzone.ll | 30 +- llvm/test/CodeGen/PowerPC/stack-protector.ll | 22 +- llvm/test/CodeGen/PowerPC/stack-realign.ll | 58 +- .../CodeGen/PowerPC/stack-restore-with-setjmp.ll | 29 +- llvm/test/CodeGen/PowerPC/stackmap-frame-setup.ll | 8 +- llvm/test/CodeGen/PowerPC/std-unal-fi.ll | 64 +- llvm/test/CodeGen/PowerPC/stdux-constuse.ll | 22 +- llvm/test/CodeGen/PowerPC/stfiwx-2.ll | 4 +- llvm/test/CodeGen/PowerPC/stfiwx.ll | 16 +- llvm/test/CodeGen/PowerPC/store-combine.ll | 336 ++-- llvm/test/CodeGen/PowerPC/store-constant.ll | 96 +- llvm/test/CodeGen/PowerPC/store-forward-be32.ll | 70 +- llvm/test/CodeGen/PowerPC/store-forward-be64.ll | 145 +- llvm/test/CodeGen/PowerPC/store-load-fwd.ll | 6 +- .../CodeGen/PowerPC/store-rightmost-vector-elt.ll | 24 +- llvm/test/CodeGen/PowerPC/store-update.ll | 112 +- llvm/test/CodeGen/PowerPC/store_fptoi.ll | 248 +-- llvm/test/CodeGen/PowerPC/structsinmem.ll | 126 +- llvm/test/CodeGen/PowerPC/structsinregs.ll | 94 +- llvm/test/CodeGen/PowerPC/stwu-gta.ll | 4 +- llvm/test/CodeGen/PowerPC/stwu-sched.ll | 28 +- llvm/test/CodeGen/PowerPC/stwu8.ll | 13 +- llvm/test/CodeGen/PowerPC/stwux.ll | 6 +- llvm/test/CodeGen/PowerPC/subreg-postra-2.ll | 15 +- llvm/test/CodeGen/PowerPC/subreg-postra.ll | 29 +- llvm/test/CodeGen/PowerPC/svr4-redzone.ll | 8 +- llvm/test/CodeGen/PowerPC/swap-reduction.ll | 42 +- llvm/test/CodeGen/PowerPC/swaps-le-1.ll | 100 +- llvm/test/CodeGen/PowerPC/swaps-le-2.ll | 12 +- llvm/test/CodeGen/PowerPC/swaps-le-3.ll | 4 +- llvm/test/CodeGen/PowerPC/swaps-le-4.ll | 16 +- llvm/test/CodeGen/PowerPC/swaps-le-5.ll | 20 +- llvm/test/CodeGen/PowerPC/swaps-le-6.ll | 12 +- llvm/test/CodeGen/PowerPC/swaps-le-7.ll | 23 +- llvm/test/CodeGen/PowerPC/swaps-le-8.ll | 10 +- .../PowerPC/tail-dup-analyzable-fallthrough.ll | 4 +- .../PowerPC/tail-dup-branch-to-fallthrough.ll | 6 +- llvm/test/CodeGen/PowerPC/tail-dup-layout.ll | 6 +- .../PowerPC/tailcall-speculatable-callee.ll | 14 +- llvm/test/CodeGen/PowerPC/tailcall-string-rvo.ll | 30 +- llvm/test/CodeGen/PowerPC/test-and-cmp-folding.ll | 2 +- llvm/test/CodeGen/PowerPC/testComparesi32gtu.ll | 9 +- llvm/test/CodeGen/PowerPC/testComparesi32ltu.ll | 9 +- llvm/test/CodeGen/PowerPC/testComparesieqsc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesieqsi.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesieqsll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesieqss.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiequc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiequi.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiequll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiequs.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigesc.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesigesi.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesigesll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigess.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesigeuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigeui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigeull.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigeus.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtsc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtsi.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtsll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtss.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesigtus.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesilesc.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesilesi.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesilesll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiless.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesileuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesileui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesileull.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesileus.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiltsc.ll | 6 +- llvm/test/CodeGen/PowerPC/testComparesiltsi.ll | 6 +- llvm/test/CodeGen/PowerPC/testComparesiltsll.ll | 6 +- llvm/test/CodeGen/PowerPC/testComparesiltss.ll | 6 +- llvm/test/CodeGen/PowerPC/testComparesiltuc.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesiltui.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesiltus.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesinesc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesinesi.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesinesll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesiness.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesineuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesineui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesineull.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesineus.ll | 8 +- llvm/test/CodeGen/PowerPC/testCompareslleqsc.ll | 8 +- llvm/test/CodeGen/PowerPC/testCompareslleqsi.ll | 8 +- llvm/test/CodeGen/PowerPC/testCompareslleqsll.ll | 8 +- llvm/test/CodeGen/PowerPC/testCompareslleqss.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllequc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllequi.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllequll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllequs.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgesc.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesllgesi.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesllgesll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgess.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesllgeuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgeui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgeull.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgeus.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgtsll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgtuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgtui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllgtus.ll | 8 +- llvm/test/CodeGen/PowerPC/testCompareslllesc.ll | 4 +- llvm/test/CodeGen/PowerPC/testCompareslllesi.ll | 4 +- llvm/test/CodeGen/PowerPC/testCompareslllesll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllless.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesllleuc.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllleui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllleull.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllleus.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllltsll.ll | 6 +- llvm/test/CodeGen/PowerPC/testComparesllltuc.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesllltui.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllltus.ll | 4 +- llvm/test/CodeGen/PowerPC/testComparesllnesll.ll | 8 +- llvm/test/CodeGen/PowerPC/testComparesllneull.ll | 8 +- llvm/test/CodeGen/PowerPC/test_call_aix.ll | 2 +- llvm/test/CodeGen/PowerPC/test_func_desc.ll | 2 +- llvm/test/CodeGen/PowerPC/thread-pointer.ll | 8 +- llvm/test/CodeGen/PowerPC/tls-cse.ll | 33 +- llvm/test/CodeGen/PowerPC/tls-debug-aix.ll | 4 +- llvm/test/CodeGen/PowerPC/tls-pic.ll | 8 +- llvm/test/CodeGen/PowerPC/tls-pie-xform.ll | 32 +- llvm/test/CodeGen/PowerPC/tls-store2.ll | 14 +- llvm/test/CodeGen/PowerPC/tls.ll | 6 +- llvm/test/CodeGen/PowerPC/tls_get_addr_clobbers.ll | 24 +- .../CodeGen/PowerPC/tls_get_addr_stackframe.ll | 12 +- llvm/test/CodeGen/PowerPC/toc-data-const.ll | 8 +- llvm/test/CodeGen/PowerPC/toc-data.ll | 12 +- llvm/test/CodeGen/PowerPC/toc-float.ll | 8 +- llvm/test/CodeGen/PowerPC/tocSaveInPrologue.ll | 2 +- llvm/test/CodeGen/PowerPC/trampoline.ll | 255 ++- llvm/test/CodeGen/PowerPC/trunc-srl-load.ll | 2 +- .../test/CodeGen/PowerPC/uint-to-ppcfp128-crash.ll | 4 +- llvm/test/CodeGen/PowerPC/unal-altivec-wint.ll | 22 +- llvm/test/CodeGen/PowerPC/unal-altivec.ll | 30 +- llvm/test/CodeGen/PowerPC/unal-altivec2.ll | 203 +-- llvm/test/CodeGen/PowerPC/unal-vec-ldst.ll | 144 +- llvm/test/CodeGen/PowerPC/unal-vec-negarith.ll | 4 +- llvm/test/CodeGen/PowerPC/unal4-std.ll | 4 +- .../CodeGen/PowerPC/unaligned-addressing-mode.ll | 62 +- llvm/test/CodeGen/PowerPC/unaligned-dqform-ld.ll | 54 +- llvm/test/CodeGen/PowerPC/unaligned-floats.ll | 12 +- llvm/test/CodeGen/PowerPC/unaligned.ll | 36 +- llvm/test/CodeGen/PowerPC/uwtables.ll | 25 +- llvm/test/CodeGen/PowerPC/vaddsplat.ll | 72 +- llvm/test/CodeGen/PowerPC/varargs-struct-float.ll | 6 +- llvm/test/CodeGen/PowerPC/varargs.ll | 6 +- llvm/test/CodeGen/PowerPC/vcmp-fold.ll | 14 +- llvm/test/CodeGen/PowerPC/vec-abi-align.ll | 28 +- llvm/test/CodeGen/PowerPC/vec-bswap.ll | 32 +- llvm/test/CodeGen/PowerPC/vec-extract-itofp.ll | 32 +- llvm/test/CodeGen/PowerPC/vec-itofp.ll | 36 +- llvm/test/CodeGen/PowerPC/vec-trunc.ll | 42 +- llvm/test/CodeGen/PowerPC/vec_auto_constant.ll | 16 +- llvm/test/CodeGen/PowerPC/vec_br_cmp.ll | 8 +- .../CodeGen/PowerPC/vec_buildvector_loadstore.ll | 4 +- llvm/test/CodeGen/PowerPC/vec_constants.ll | 14 +- llvm/test/CodeGen/PowerPC/vec_conv.ll | 24 +- .../CodeGen/PowerPC/vec_conv_fp32_to_i16_elts.ll | 20 +- .../CodeGen/PowerPC/vec_conv_fp32_to_i64_elts.ll | 32 +- .../CodeGen/PowerPC/vec_conv_fp32_to_i8_elts.ll | 16 +- .../CodeGen/PowerPC/vec_conv_fp64_to_i16_elts.ll | 28 +- .../CodeGen/PowerPC/vec_conv_fp64_to_i32_elts.ll | 32 +- .../CodeGen/PowerPC/vec_conv_fp64_to_i8_elts.ll | 24 +- .../CodeGen/PowerPC/vec_conv_fp_to_i_4byte_elts.ll | 24 +- .../CodeGen/PowerPC/vec_conv_fp_to_i_8byte_elts.ll | 36 +- .../CodeGen/PowerPC/vec_conv_i16_to_fp32_elts.ll | 20 +- .../CodeGen/PowerPC/vec_conv_i16_to_fp64_elts.ll | 28 +- .../CodeGen/PowerPC/vec_conv_i32_to_fp64_elts.ll | 32 +- .../CodeGen/PowerPC/vec_conv_i64_to_fp32_elts.ll | 32 +- .../CodeGen/PowerPC/vec_conv_i8_to_fp32_elts.ll | 16 +- .../CodeGen/PowerPC/vec_conv_i8_to_fp64_elts.ll | 24 +- .../CodeGen/PowerPC/vec_conv_i_to_fp_4byte_elts.ll | 24 +- .../CodeGen/PowerPC/vec_conv_i_to_fp_8byte_elts.ll | 36 +- llvm/test/CodeGen/PowerPC/vec_fneg.ll | 12 +- llvm/test/CodeGen/PowerPC/vec_insert_elt.ll | 124 +- llvm/test/CodeGen/PowerPC/vec_mergeow.ll | 28 +- llvm/test/CodeGen/PowerPC/vec_misaligned.ll | 40 +- llvm/test/CodeGen/PowerPC/vec_mul.ll | 24 +- llvm/test/CodeGen/PowerPC/vec_perf_shuffle.ll | 30 +- llvm/test/CodeGen/PowerPC/vec_shift.ll | 4 +- llvm/test/CodeGen/PowerPC/vec_shuffle.ll | 128 +- llvm/test/CodeGen/PowerPC/vec_shuffle_le.ll | 126 +- llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll | 14 +- .../CodeGen/PowerPC/vec_shuffle_p8vector_le.ll | 14 +- llvm/test/CodeGen/PowerPC/vec_splat.ll | 34 +- llvm/test/CodeGen/PowerPC/vec_splat_constant.ll | 16 +- llvm/test/CodeGen/PowerPC/vec_zero.ll | 6 +- .../CodeGen/PowerPC/vector-identity-shuffle.ll | 6 +- llvm/test/CodeGen/PowerPC/vector-ldst.ll | 232 ++- .../PowerPC/vector-merge-store-fp-constants.ll | 33 +- llvm/test/CodeGen/PowerPC/vector.ll | 118 +- llvm/test/CodeGen/PowerPC/vrspill.ll | 8 +- llvm/test/CodeGen/PowerPC/vsel-prom.ll | 2 +- llvm/test/CodeGen/PowerPC/vsx-div.ll | 8 +- llvm/test/CodeGen/PowerPC/vsx-elementary-arith.ll | 40 +- llvm/test/CodeGen/PowerPC/vsx-fma-m.ll | 104 +- .../CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll | 2 +- llvm/test/CodeGen/PowerPC/vsx-fma-mutate-undef.ll | 2 +- llvm/test/CodeGen/PowerPC/vsx-fma-sp.ll | 52 +- llvm/test/CodeGen/PowerPC/vsx-ldst-builtin-le.ll | 56 +- llvm/test/CodeGen/PowerPC/vsx-ldst.ll | 24 +- llvm/test/CodeGen/PowerPC/vsx-minmax.ll | 38 +- llvm/test/CodeGen/PowerPC/vsx-p8.ll | 16 +- llvm/test/CodeGen/PowerPC/vsx-p9.ll | 88 +- .../PowerPC/vsx-partword-int-loads-and-stores.ll | 288 +-- llvm/test/CodeGen/PowerPC/vsx-recip-est.ll | 20 +- llvm/test/CodeGen/PowerPC/vsx-shuffle-le-load.ll | 6 +- .../PowerPC/vsx-shuffle-le-multiple-uses.ll | 12 +- llvm/test/CodeGen/PowerPC/vsx-spill-norwstore.ll | 6 +- llvm/test/CodeGen/PowerPC/vsx.ll | 52 +- llvm/test/CodeGen/PowerPC/vsx_builtins.ll | 36 +- llvm/test/CodeGen/PowerPC/vsx_insert_extract_le.ll | 20 +- llvm/test/CodeGen/PowerPC/vsx_scalar_ld_st.ll | 40 +- llvm/test/CodeGen/PowerPC/vsx_shuffle_le.ll | 96 +- llvm/test/CodeGen/PowerPC/vtable-reloc.ll | 2 +- .../test/CodeGen/PowerPC/weak_def_can_be_hidden.ll | 12 +- .../test/CodeGen/PowerPC/xray-ret-is-terminator.ll | 4 +- llvm/test/CodeGen/PowerPC/xvcmpeqdp-v2f64.ll | 4 +- llvm/test/CodeGen/PowerPC/zero-not-run.ll | 8 +- llvm/test/CodeGen/PowerPC/zext-and-cmp.ll | 8 +- llvm/test/CodeGen/PowerPC/zext-bitperm.ll | 6 +- llvm/test/CodeGen/PowerPC/zext-free.ll | 20 +- 494 files changed, 11209 insertions(+), 12177 deletions(-) diff --git a/llvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll b/llvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll index 6fa25bf..8b3a780 100644 --- a/llvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll +++ b/llvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll @@ -4,35 +4,35 @@ define void @test_builtin_ppc_compare_and_swaplp(i64 %a, i64 %b, i64 %c) { ; CHECK-LABEL: @test_builtin_ppc_compare_and_swaplp( ; CHECK-NEXT: entry: ; CHECK-NEXT: [[A_ADDR:%.*]] = alloca i64, align 8 -; CHECK-NEXT: store i64 [[A:%.*]], i64* [[A_ADDR]], align 8 -; CHECK-NEXT: [[TMP0:%.*]] = cmpxchg weak volatile i64* [[A_ADDR]], i64 [[B:%.*]], i64 [[C:%.*]] monotonic monotonic, align 8 +; CHECK-NEXT: store i64 [[A:%.*]], ptr [[A_ADDR]], align 8 +; CHECK-NEXT: [[TMP0:%.*]] = cmpxchg weak volatile ptr [[A_ADDR]], i64 [[B:%.*]], i64 [[C:%.*]] monotonic monotonic, align 8 ; CHECK-NEXT: ret void ; entry: %a.addr = alloca i64, align 8 %b.addr = alloca i64, align 8 %c.addr = alloca i64, align 8 - store i64 %a, i64* %a.addr, align 8 - store i64 %b, i64* %b.addr, align 8 - store i64 %c, i64* %c.addr, align 8 - %0 = load i64, i64* %c.addr, align 8 - %1 = load i64, i64* %b.addr, align 8 - %2 = cmpxchg weak volatile i64* %a.addr, i64 %1, i64 %0 monotonic monotonic, align 8 + store i64 %a, ptr %a.addr, align 8 + store i64 %b, ptr %b.addr, align 8 + store i64 %c, ptr %c.addr, align 8 + %0 = load i64, ptr %c.addr, align 8 + %1 = load i64, ptr %b.addr, align 8 + %2 = cmpxchg weak volatile ptr %a.addr, i64 %1, i64 %0 monotonic monotonic, align 8 %3 = extractvalue { i64, i1 } %2, 0 %4 = extractvalue { i64, i1 } %2, 1 - store i64 %3, i64* %b.addr, align 8 + store i64 %3, ptr %b.addr, align 8 ret void } -define dso_local void @test_builtin_ppc_compare_and_swaplp_loop(i64* %a) { +define dso_local void @test_builtin_ppc_compare_and_swaplp_loop(ptr %a) { ; CHECK-LABEL: @test_builtin_ppc_compare_and_swaplp_loop( ; CHECK-NEXT: entry: -; CHECK-NEXT: [[CALL:%.*]] = tail call i64 bitcast (i64 (...)* @bar to i64 ()*)() +; CHECK-NEXT: [[CALL:%.*]] = tail call i64 @bar() ; CHECK-NEXT: br label [[DO_BODY:%.*]] ; CHECK: do.body: ; CHECK-NEXT: [[X_0:%.*]] = phi i64 [ [[CALL]], [[ENTRY:%.*]] ], [ [[TMP1:%.*]], [[DO_BODY]] ] ; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[X_0]], 1 -; CHECK-NEXT: [[TMP0:%.*]] = cmpxchg weak volatile i64* [[A:%.*]], i64 [[X_0]], i64 [[ADD]] monotonic monotonic, align 8 +; CHECK-NEXT: [[TMP0:%.*]] = cmpxchg weak volatile ptr [[A:%.*]], i64 [[X_0]], i64 [[ADD]] monotonic monotonic, align 8 ; CHECK-NEXT: [[TMP1]] = extractvalue { i64, i1 } [[TMP0]], 0 ; CHECK-NEXT: [[TMP2:%.*]] = extractvalue { i64, i1 } [[TMP0]], 1 ; CHECK-NEXT: br i1 [[TMP2]], label [[DO_BODY]], label [[DO_END:%.*]] @@ -40,26 +40,26 @@ define dso_local void @test_builtin_ppc_compare_and_swaplp_loop(i64* %a) { ; CHECK-NEXT: ret void ; entry: - %a.addr = alloca i64*, align 8 + %a.addr = alloca ptr, align 8 %x = alloca i64, align 8 - store i64* %a, i64** %a.addr, align 8 - %call = call i64 bitcast (i64 (...)* @bar to i64 ()*)() - store i64 %call, i64* %x, align 8 + store ptr %a, ptr %a.addr, align 8 + %call = call i64 @bar() + store i64 %call, ptr %x, align 8 br label %do.body do.body: ; preds = %do.cond, %entry br label %do.cond do.cond: ; preds = %do.body - %0 = load i64*, i64** %a.addr, align 8 - %1 = load i64, i64* %x, align 8 + %0 = load ptr, ptr %a.addr, align 8 + %1 = load i64, ptr %x, align 8 %add = add nsw i64 %1, 1 - %2 = load i64*, i64** %a.addr, align 8 - %3 = load i64, i64* %x, align 8 - %4 = cmpxchg weak volatile i64* %2, i64 %3, i64 %add monotonic monotonic, align 8 + %2 = load ptr, ptr %a.addr, align 8 + %3 = load i64, ptr %x, align 8 + %4 = cmpxchg weak volatile ptr %2, i64 %3, i64 %add monotonic monotonic, align 8 %5 = extractvalue { i64, i1 } %4, 0 %6 = extractvalue { i64, i1 } %4, 1 - store i64 %5, i64* %x, align 8 + store i64 %5, ptr %x, align 8 %tobool = icmp ne i1 %6, false br i1 %tobool, label %do.body, label %do.end diff --git a/llvm/test/CodeGen/PowerPC/opt-cmp-inst-cr0-live.ll b/llvm/test/CodeGen/PowerPC/opt-cmp-inst-cr0-live.ll index 406a3035..8a443c1 100644 --- a/llvm/test/CodeGen/PowerPC/opt-cmp-inst-cr0-live.ll +++ b/llvm/test/CodeGen/PowerPC/opt-cmp-inst-cr0-live.ll @@ -84,12 +84,12 @@ declare void @exit(i32 signext) ; In this case, we want to use OR_rec instead of OR + CMPLWI. ; CHECK-LABEL: fn5 -define zeroext i32 @fn5(i32* %p1, i32* %p2) { +define zeroext i32 @fn5(ptr %p1, ptr %p2) { ; CHECK: OR_rec ; CHECK-NOT: CMP ; CHECK: BCC - %v1 = load i32, i32* %p1 - %v2 = load i32, i32* %p2 + %v1 = load i32, ptr %p1 + %v2 = load i32, ptr %p2 %1 = or i32 %v1, %v2 %2 = icmp eq i32 %1, 0 br i1 %2, label %foo, label %bar @@ -105,7 +105,7 @@ bar: ; against a non-zero value. ; CHECK-LABEL: fn6 -define i8* @fn6(i8* readonly %p) { +define ptr @fn6(ptr readonly %p) { ; CHECK: LBZU ; CHECK: EXTSB_rec ; CHECK-NOT: CMP @@ -116,22 +116,22 @@ define i8* @fn6(i8* readonly %p) { ; CHECK: BCC entry: - %incdec.ptr = getelementptr inbounds i8, i8* %p, i64 -1 - %0 = load i8, i8* %incdec.ptr + %incdec.ptr = getelementptr inbounds i8, ptr %p, i64 -1 + %0 = load i8, ptr %incdec.ptr %cmp = icmp sgt i8 %0, -1 br i1 %cmp, label %out, label %if.end if.end: - %incdec.ptr2 = getelementptr inbounds i8, i8* %p, i64 -2 - %1 = load i8, i8* %incdec.ptr2 + %incdec.ptr2 = getelementptr inbounds i8, ptr %p, i64 -2 + %1 = load i8, ptr %incdec.ptr2 %cmp4 = icmp sgt i8 %1, -1 br i1 %cmp4, label %out, label %cleanup out: - %p.addr.0 = phi i8* [ %incdec.ptr, %entry ], [ %incdec.ptr2, %if.end ] + %p.addr.0 = phi ptr [ %incdec.ptr, %entry ], [ %incdec.ptr2, %if.end ] br label %cleanup cleanup: - %retval.0 = phi i8* [ %p.addr.0, %out ], [ null, %if.end ] - ret i8* %retval.0 + %retval.0 = phi ptr [ %p.addr.0, %out ], [ null, %if.end ] + ret ptr %retval.0 } diff --git a/llvm/test/CodeGen/PowerPC/opt-li-add-to-addi.ll b/llvm/test/CodeGen/PowerPC/opt-li-add-to-addi.ll index 67fd5d3..f20a619 100644 --- a/llvm/test/CodeGen/PowerPC/opt-li-add-to-addi.ll +++ b/llvm/test/CodeGen/PowerPC/opt-li-add-to-addi.ll @@ -13,7 +13,7 @@ entry: br i1 %cmp, label %if.then, label %if.end if.then: - tail call void bitcast (void (...)* @callv to void ()*)() + tail call void @callv() br label %if.end if.end: @@ -37,7 +37,7 @@ entry: br i1 %cmp, label %if.then, label %if.else if.then: - tail call void bitcast (void (...)* @callv to void ()*)() + tail call void @callv() br label %if.end4 if.else: @@ -45,7 +45,7 @@ if.else: br i1 %cmp1, label %if.then2, label %if.end4 if.then2: - tail call void bitcast (void (...)* @callv to void ()*)() + tail call void @callv() br label %if.end4 if.end4: diff --git a/llvm/test/CodeGen/PowerPC/optcmp.ll b/llvm/test/CodeGen/PowerPC/optcmp.ll index 51ebbbd..bc265c6 100644 --- a/llvm/test/CodeGen/PowerPC/optcmp.ll +++ b/llvm/test/CodeGen/PowerPC/optcmp.ll @@ -5,7 +5,7 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" target triple = "powerpc64-unknown-linux-gnu" -define signext i32 @foo(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 { +define signext i32 @foo(i32 signext %a, i32 signext %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foo: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: cmpw 3, 4 @@ -27,13 +27,13 @@ define signext i32 @foo(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = sub nsw i32 %a, %b - store i32 %sub, i32* %c, align 4 + store i32 %sub, ptr %c, align 4 %cmp = icmp sgt i32 %a, %b %cond = select i1 %cmp, i32 %a, i32 %b ret i32 %cond } -define signext i32 @foo2(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 { +define signext i32 @foo2(i32 signext %a, i32 signext %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foo2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: slw 4, 3, 4 @@ -57,13 +57,13 @@ define signext i32 @foo2(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %shl = shl i32 %a, %b - store i32 %shl, i32* %c, align 4 + store i32 %shl, ptr %c, align 4 %cmp = icmp sgt i32 %shl, 0 %conv = zext i1 %cmp to i32 ret i32 %conv } -define i64 @fool(i64 %a, i64 %b, i64* nocapture %c) #0 { +define i64 @fool(i64 %a, i64 %b, ptr nocapture %c) #0 { ; CHECK-LABEL: fool: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sub. 6, 3, 4 @@ -83,13 +83,13 @@ define i64 @fool(i64 %a, i64 %b, i64* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = sub nsw i64 %a, %b - store i64 %sub, i64* %c, align 8 + store i64 %sub, ptr %c, align 8 %cmp = icmp sgt i64 %a, %b %cond = select i1 %cmp, i64 %a, i64 %b ret i64 %cond } -define i64 @foolb(i64 %a, i64 %b, i64* nocapture %c) #0 { +define i64 @foolb(i64 %a, i64 %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foolb: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sub. 6, 3, 4 @@ -109,13 +109,13 @@ define i64 @foolb(i64 %a, i64 %b, i64* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = sub nsw i64 %a, %b - store i64 %sub, i64* %c, align 8 + store i64 %sub, ptr %c, align 8 %cmp = icmp sle i64 %a, %b %cond = select i1 %cmp, i64 %a, i64 %b ret i64 %cond } -define i64 @foolc(i64 %a, i64 %b, i64* nocapture %c) #0 { +define i64 @foolc(i64 %a, i64 %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foolc: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sub. 6, 4, 3 @@ -135,13 +135,13 @@ define i64 @foolc(i64 %a, i64 %b, i64* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = sub nsw i64 %b, %a - store i64 %sub, i64* %c, align 8 + store i64 %sub, ptr %c, align 8 %cmp = icmp sgt i64 %a, %b %cond = select i1 %cmp, i64 %a, i64 %b ret i64 %cond } -define i64 @foold(i64 %a, i64 %b, i64* nocapture %c) #0 { +define i64 @foold(i64 %a, i64 %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foold: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sub. 6, 4, 3 @@ -161,13 +161,13 @@ define i64 @foold(i64 %a, i64 %b, i64* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = sub nsw i64 %b, %a - store i64 %sub, i64* %c, align 8 + store i64 %sub, ptr %c, align 8 %cmp = icmp slt i64 %a, %b %cond = select i1 %cmp, i64 %a, i64 %b ret i64 %cond } -define i64 @foold2(i64 %a, i64 %b, i64* nocapture %c) #0 { +define i64 @foold2(i64 %a, i64 %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foold2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sub. 6, 3, 4 @@ -187,13 +187,13 @@ define i64 @foold2(i64 %a, i64 %b, i64* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = sub nsw i64 %a, %b - store i64 %sub, i64* %c, align 8 + store i64 %sub, ptr %c, align 8 %cmp = icmp slt i64 %a, %b %cond = select i1 %cmp, i64 %a, i64 %b ret i64 %cond } -define i64 @foo2l(i64 %a, i64 %b, i64* nocapture %c) #0 { +define i64 @foo2l(i64 %a, i64 %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foo2l: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sld 4, 3, 4 @@ -213,13 +213,13 @@ define i64 @foo2l(i64 %a, i64 %b, i64* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %shl = shl i64 %a, %b - store i64 %shl, i64* %c, align 8 + store i64 %shl, ptr %c, align 8 %cmp = icmp sgt i64 %shl, 0 %conv1 = zext i1 %cmp to i64 ret i64 %conv1 } -define double @food(double %a, double %b, double* nocapture %c) #0 { +define double @food(double %a, double %b, ptr nocapture %c) #0 { ; CHECK-LABEL: food: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: fsub 0, 1, 2 @@ -241,13 +241,13 @@ define double @food(double %a, double %b, double* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = fsub double %a, %b - store double %sub, double* %c, align 8 + store double %sub, ptr %c, align 8 %cmp = fcmp ogt double %a, %b %cond = select i1 %cmp, double %a, double %b ret double %cond } -define float @foof(float %a, float %b, float* nocapture %c) #0 { +define float @foof(float %a, float %b, ptr nocapture %c) #0 { ; CHECK-LABEL: foof: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: fsubs 0, 1, 2 @@ -269,7 +269,7 @@ define float @foof(float %a, float %b, float* nocapture %c) #0 { ; CHECK-NO-ISEL-NEXT: blr entry: %sub = fsub float %a, %b - store float %sub, float* %c, align 4 + store float %sub, ptr %c, align 4 %cmp = fcmp ogt float %a, %b %cond = select i1 %cmp, float %a, float %b ret float %cond @@ -277,7 +277,7 @@ entry: declare i64 @llvm.ctpop.i64(i64); -define signext i64 @fooct(i64 signext %a, i64 signext %b, i64* nocapture %c) #0 { +define signext i64 @fooct(i64 signext %a, i64 signext %b, ptr nocapture %c) #0 { ; CHECK-LABEL: fooct: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lis 6, 21845 @@ -346,7 +346,7 @@ define signext i64 @fooct(i64 signext %a, i64 signext %b, i64* nocapture %c) #0 entry: %sub = sub nsw i64 %a, %b %subc = call i64 @llvm.ctpop.i64(i64 %sub) - store i64 %subc, i64* %c, align 4 + store i64 %subc, ptr %c, align 4 %cmp = icmp sgt i64 %subc, 0 %cond = select i1 %cmp, i64 %a, i64 %b ret i64 %cond diff --git a/llvm/test/CodeGen/PowerPC/or-addressing-mode.ll b/llvm/test/CodeGen/PowerPC/or-addressing-mode.ll index cb9a4c6..53d9a02e 100644 --- a/llvm/test/CodeGen/PowerPC/or-addressing-mode.ll +++ b/llvm/test/CodeGen/PowerPC/or-addressing-mode.ll @@ -1,22 +1,22 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | not grep ori ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | not grep rlwimi -define i32 @test1(i8* %P) { - %tmp.2.i = ptrtoint i8* %P to i32 ; [#uses=2] +define i32 @test1(ptr %P) { + %tmp.2.i = ptrtoint ptr %P to i32 ; [#uses=2] %tmp.4.i = and i32 %tmp.2.i, -65536 ; [#uses=1] %tmp.10.i = lshr i32 %tmp.2.i, 5 ; [#uses=1] %tmp.11.i = and i32 %tmp.10.i, 2040 ; [#uses=1] %tmp.13.i = or i32 %tmp.11.i, %tmp.4.i ; [#uses=1] - %tmp.14.i = inttoptr i32 %tmp.13.i to i32* ; [#uses=1] - %tmp.3 = load i32, i32* %tmp.14.i ; [#uses=1] + %tmp.14.i = inttoptr i32 %tmp.13.i to ptr ; [#uses=1] + %tmp.3 = load i32, ptr %tmp.14.i ; [#uses=1] ret i32 %tmp.3 } define i32 @test2(i32 %P) { %tmp.2 = shl i32 %P, 4 ; [#uses=1] %tmp.3 = or i32 %tmp.2, 2 ; [#uses=1] - %tmp.4 = inttoptr i32 %tmp.3 to i32* ; [#uses=1] - %tmp.5 = load i32, i32* %tmp.4 ; [#uses=1] + %tmp.4 = inttoptr i32 %tmp.3 to ptr ; [#uses=1] + %tmp.5 = load i32, ptr %tmp.4 ; [#uses=1] ret i32 %tmp.5 } diff --git a/llvm/test/CodeGen/PowerPC/out-of-range-dform.ll b/llvm/test/CodeGen/PowerPC/out-of-range-dform.ll index 13b68a1..5168944 100644 --- a/llvm/test/CodeGen/PowerPC/out-of-range-dform.ll +++ b/llvm/test/CodeGen/PowerPC/out-of-range-dform.ll @@ -5,7 +5,7 @@ @_ZL3num = external dso_local unnamed_addr global float, align 4 -define dso_local void @main() local_unnamed_addr personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { +define dso_local void @main() local_unnamed_addr personality ptr @__gxx_personality_v0 { ; CHECK-P9-LABEL: main: ; CHECK-P9: # %bb.0: # %bb ; CHECK-P9-NEXT: mflr r0 @@ -34,8 +34,7 @@ define dso_local void @main() local_unnamed_addr personality i8* bitcast (i32 (. ; CHECK-P9-NEXT: bne+ cr0, .LBB0_1 ; CHECK-P9-NEXT: .LBB0_2: # %bb16 bb: - %i = tail call noalias dereferenceable_or_null(6451600) i8* @malloc() - %i1 = bitcast i8* %i to float* + %i = tail call noalias dereferenceable_or_null(6451600) ptr @malloc() br label %bb2 bb2: ; preds = %bb5, %bb @@ -46,15 +45,15 @@ bb2: ; preds = %bb5, %bb bb5: ; preds = %bb2 %i6 = mul nuw nsw i64 %i3, 1270 %i7 = add nuw nsw i64 %i6, 0 - %i8 = getelementptr inbounds float, float* %i1, i64 %i7 - store float undef, float* %i8, align 4 + %i8 = getelementptr inbounds float, ptr %i, i64 %i7 + store float undef, ptr %i8, align 4 %i9 = add nuw nsw i64 %i3, 3 - %i10 = load float, float* @_ZL3num, align 4 + %i10 = load float, ptr @_ZL3num, align 4 %i11 = fmul float %i10, 0x3E00000000000000 %i12 = mul nuw nsw i64 %i9, 1270 %i13 = add nuw nsw i64 %i12, 0 - %i14 = getelementptr inbounds float, float* %i1, i64 %i13 - store float %i11, float* %i14, align 4 + %i14 = getelementptr inbounds float, ptr %i, i64 %i13 + store float %i11, ptr %i14, align 4 %i15 = add nuw nsw i64 %i3, 5 br label %bb2 @@ -64,4 +63,4 @@ bb16: ; preds = %bb2 declare i32 @__gxx_personality_v0(...) -declare i8* @malloc() local_unnamed_addr +declare ptr @malloc() local_unnamed_addr diff --git a/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll b/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll index 353dac3..ca149dc 100644 --- a/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll +++ b/llvm/test/CodeGen/PowerPC/overflow-intrinsic-optimizations.ll @@ -1,7 +1,7 @@ ; RUN: llc %s -mtriple=powerpc -o - | FileCheck %s ; RUN: llc %s -mtriple=powerpc64 -o - | FileCheck %s -define i1 @no__mulodi4(i32 %a, i64 %b, i32* %c) { +define i1 @no__mulodi4(i32 %a, i64 %b, ptr %c) { ; CHECK-LABEL: no__mulodi4 ; CHECK-NOT: bl __mulodi4 ; CHECK-NOT: bl __multi3 @@ -14,7 +14,7 @@ entry: %5 = sext i32 %4 to i64 %6 = icmp ne i64 %3, %5 %7 = or i1 %2, %6 - store i32 %4, i32* %c, align 4 + store i32 %4, ptr %c, align 4 ret i1 %7 } diff --git a/llvm/test/CodeGen/PowerPC/p10-constants.ll b/llvm/test/CodeGen/PowerPC/p10-constants.ll index bd70b7b..77472af 100644 --- a/llvm/test/CodeGen/PowerPC/p10-constants.ll +++ b/llvm/test/CodeGen/PowerPC/p10-constants.ll @@ -361,7 +361,7 @@ while.body.i: ; preds = %sw.epilog.i, %while %b.1.i = phi i32 [ %b.2.i, %sw.epilog.i ], [ 0, %while.body ] %c.1.i = phi i32 [ %c.2.i, %sw.epilog.i ], [ 291, %while.body ] %d.1.i = phi i32 [ %d.2.i, %sw.epilog.i ], [ 1179648, %while.body ] - %0 = load i8, i8* null, align 1 + %0 = load i8, ptr null, align 1 %cmp1.i = icmp eq i8 %0, 1 br i1 %cmp1.i, label %if.then.i, label %if.else.i diff --git a/llvm/test/CodeGen/PowerPC/p10-setbc-ri.ll b/llvm/test/CodeGen/PowerPC/p10-setbc-ri.ll index 76fd43b..64cfcc9 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setbc-ri.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setbc-ri.ll @@ -137,7 +137,7 @@ define dso_local void @setbc9(i8 %a) { entry: %cmp = icmp slt i8 %a, 1 %conv1 = zext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -159,7 +159,7 @@ define dso_local void @setbc10(i32 %a) { entry: %cmp = icmp slt i32 %a, 1 %conv1 = zext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -181,7 +181,7 @@ define dso_local void @setbc11(i64 %a) { entry: %cmp = icmp slt i64 %a, 1 %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -205,7 +205,7 @@ define dso_local void @setbc12(i16 %a) { entry: %cmp = icmp slt i16 %a, 1 %conv1 = zext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -329,7 +329,7 @@ define dso_local void @setbc21(i8 %a) { entry: %cmp = icmp sgt i8 %a, 1 %conv1 = zext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -351,7 +351,7 @@ define dso_local void @setbc22(i32 %a) { entry: %cmp = icmp sgt i32 %a, 1 %conv1 = zext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -373,7 +373,7 @@ define dso_local void @setbc23(i64 %a) { entry: %cmp = icmp sgt i64 %a, 1 %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -397,7 +397,7 @@ define dso_local void @setbc24(i16 %a) { entry: %cmp = icmp sgt i16 %a, 1 %conv1 = zext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -521,7 +521,7 @@ define dso_local void @setbc33(i8 %a) { entry: %cmp = icmp eq i8 %a, 1 %conv1 = zext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -543,7 +543,7 @@ define dso_local void @setbc34(i32 %a) { entry: %cmp = icmp eq i32 %a, 1 %conv1 = zext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -565,7 +565,7 @@ define dso_local void @setbc35(i64 %a) { entry: %cmp = icmp eq i64 %a, 1 %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -589,7 +589,7 @@ define dso_local void @setbc36(i16 %a) { entry: %cmp = icmp eq i16 %a, 1 %conv1 = zext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -635,6 +635,6 @@ define dso_local void @setbc39(i64 %a) { entry: %cmp = icmp ugt i64 %a, 1 %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setbc-rr.ll b/llvm/test/CodeGen/PowerPC/p10-setbc-rr.ll index 5ec4012..d4133a3 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setbc-rr.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setbc-rr.ll @@ -83,7 +83,7 @@ define dso_local void @setbc5(i8 signext %a, i8 signext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -105,7 +105,7 @@ define dso_local void @setbc6(i32 signext %a, i32 signext %b) { entry: %cmp = icmp eq i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -152,7 +152,7 @@ define dso_local void @setbc9(i64 %a, i64 %b) { entry: %cmp = icmp eq i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -188,7 +188,7 @@ define dso_local void @setbc11(i16 signext %a, i16 signext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -224,7 +224,7 @@ define dso_local void @setbc13(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -260,7 +260,7 @@ define dso_local void @setbc15(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp eq i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -296,7 +296,7 @@ define dso_local void @setbc17(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -332,7 +332,7 @@ define dso_local void @setbc19(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sgt i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -355,7 +355,7 @@ define dso_local void @setbc20(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sgt i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -391,7 +391,7 @@ define dso_local void @setbc22(i64 %a, i64 %b) { entry: %cmp = icmp sgt i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -427,7 +427,7 @@ define dso_local void @setbc24(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sgt i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -463,7 +463,7 @@ define dso_local void @setbc26(i8 signext %a, i8 signext %b) { entry: %cmp = icmp slt i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -486,7 +486,7 @@ define dso_local void @setbc27(i32 signext %a, i32 signext %b) { entry: %cmp = icmp slt i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -535,7 +535,7 @@ define dso_local void @setbc30(i64 %a, i64 %b) { entry: %cmp = icmp slt i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -571,7 +571,7 @@ define dso_local void @setbc32(i16 signext %a, i16 signext %b) { entry: %cmp = icmp slt i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -607,7 +607,7 @@ define dso_local void @setbc34(i8 signext %a, i8 signext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -643,7 +643,7 @@ define dso_local void @setbc36(i32 signext %a, i32 signext %b) { entry: %cmp = icmp eq i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -666,7 +666,7 @@ define dso_local void @setbc37(i64 %a, i64 %b) { entry: %cmp = icmp eq i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -702,7 +702,7 @@ define dso_local void @setbc39(i16 signext %a, i16 signext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -738,7 +738,7 @@ define dso_local void @setbc41(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -774,7 +774,7 @@ define dso_local void @setbc43(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp eq i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -810,7 +810,7 @@ define dso_local void @setbc45(i64 %a, i64 %b) { entry: %cmp = icmp eq i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -846,7 +846,7 @@ define dso_local void @setbc47(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -882,7 +882,7 @@ define dso_local void @setbc49(i64 %a, i64 %b) { entry: %cmp = icmp sgt i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -918,6 +918,6 @@ define dso_local void @setnbc51(i64 %a, i64 %b) { entry: %cmp = icmp slt i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setbcr-ri.ll b/llvm/test/CodeGen/PowerPC/p10-setbcr-ri.ll index 17ac933..b28edbe 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setbcr-ri.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setbcr-ri.ll @@ -137,7 +137,7 @@ define dso_local void @setbcr9(i8 %a) { entry: %cmp = icmp ne i8 %a, 1 %conv1 = zext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -159,7 +159,7 @@ define dso_local void @setbcr10(i32 %a) { entry: %cmp = icmp ne i32 %a, 1 %conv1 = zext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -181,7 +181,7 @@ define dso_local void @setbcr11(i64 %a) { entry: %cmp = icmp ne i64 %a, 1 %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -205,7 +205,7 @@ define dso_local void @setbcr12(i16 %a) { entry: %cmp = icmp ne i16 %a, 1 %conv1 = zext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setbcr-rr.ll b/llvm/test/CodeGen/PowerPC/p10-setbcr-rr.ll index 2cc7091..136c2a9 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setbcr-rr.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setbcr-rr.ll @@ -88,7 +88,7 @@ define dso_local void @setbcr5(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sge i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -111,7 +111,7 @@ define dso_local void @setbcr6(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sge i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -160,7 +160,7 @@ define dso_local void @setbcr9(i64 %a, i64 %b) { entry: %cmp = icmp sge i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -196,7 +196,7 @@ define dso_local void @setbcr11(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sge i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -232,7 +232,7 @@ define dso_local void @setbcr13(i64 %a, i64 %b) { entry: %cmp = icmp uge i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -268,7 +268,7 @@ define dso_local void @setbcr15(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sle i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -304,7 +304,7 @@ define dso_local void @setbcr17(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sle i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -340,7 +340,7 @@ define dso_local void @setbcr19(i64 %a, i64 %b) { entry: %cmp = icmp sle i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -376,7 +376,7 @@ define dso_local void @setbcr21(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sle i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -412,7 +412,7 @@ define dso_local void @setbcr23(i64 %a, i64 %b) { entry: %cmp = icmp ule i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -446,7 +446,7 @@ define dso_local void @setbcr25(i8 signext %a, i8 signext %b) { entry: %cmp = icmp ne i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -468,7 +468,7 @@ define dso_local void @setbcr26(i32 signext %a, i32 signext %b) { entry: %cmp = icmp ne i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -502,7 +502,7 @@ define dso_local void @setbcr28(i64 %a, i64 %b) { entry: %cmp = icmp ne i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -536,7 +536,7 @@ define dso_local void @setbcr30(i16 signext %a, i16 signext %b) { entry: %cmp = icmp ne i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -570,7 +570,7 @@ define dso_local void @setbcr32(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ne i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -604,7 +604,7 @@ define dso_local void @setbcr34(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ne i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -638,7 +638,7 @@ define dso_local void @setbcr36(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ne i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -672,7 +672,7 @@ define dso_local void @setbcr38(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sge i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -706,7 +706,7 @@ define dso_local void @setbcr40(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sge i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -740,7 +740,7 @@ define dso_local void @setbcr42(i64 %a, i64 %b) { entry: %cmp = icmp sge i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -774,7 +774,7 @@ define dso_local void @setbcr44(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sge i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -810,7 +810,7 @@ define dso_local void @setbcr46(i64 %a, i64 %b) { entry: %cmp = icmp uge i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -844,7 +844,7 @@ define dso_local void @setbcr48(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sle i8 %a, %b %conv3 = zext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -878,7 +878,7 @@ define dso_local void @setbcr50(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sle i32 %a, %b %conv = zext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -914,7 +914,7 @@ define dso_local void @setbcr52(i64 %a, i64 %b) { entry: %cmp = icmp sle i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -948,7 +948,7 @@ define dso_local void @setbcr54(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sle i16 %a, %b %conv3 = zext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -984,7 +984,7 @@ define dso_local void @setbcr56(i64 %a, i64 %b) { entry: %cmp = icmp ule i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -1018,7 +1018,7 @@ define dso_local void @setbcr58(i64 %a, i64 %b) { entry: %cmp = icmp ne i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -1052,6 +1052,6 @@ define dso_local void @setbcr60(i64 %a, i64 %b) { entry: %cmp = icmp ne i64 %a, %b %conv1 = zext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setnbc-ri.ll b/llvm/test/CodeGen/PowerPC/p10-setnbc-ri.ll index c6b5fc3..04cbf97 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setnbc-ri.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setnbc-ri.ll @@ -137,7 +137,7 @@ define dso_local void @setnbc9(i8 %a) { entry: %cmp = icmp slt i8 %a, 1 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -159,7 +159,7 @@ define dso_local void @setnbc10(i32 %a) { entry: %cmp = icmp slt i32 %a, 1 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -181,7 +181,7 @@ define dso_local void @setnbc11(i64 %a) { entry: %cmp = icmp slt i64 %a, 1 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -205,7 +205,7 @@ define dso_local void @setnbc12(i16 %a) { entry: %cmp = icmp slt i16 %a, 1 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -329,7 +329,7 @@ define dso_local void @setnbc21(i8 %a) { entry: %cmp = icmp sgt i8 %a, 1 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -351,7 +351,7 @@ define dso_local void @setnbc22(i32 %a) { entry: %cmp = icmp sgt i32 %a, 1 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -373,7 +373,7 @@ define dso_local void @setnbc23(i64 %a) { entry: %cmp = icmp sgt i64 %a, 1 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -397,7 +397,7 @@ define dso_local void @setnbc24(i16 %a) { entry: %cmp = icmp sgt i16 %a, 1 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -521,7 +521,7 @@ define dso_local void @setnbc33(i8 %a) { entry: %cmp = icmp eq i8 %a, 1 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -543,7 +543,7 @@ define dso_local void @setnbc34(i32 %a) { entry: %cmp = icmp eq i32 %a, 1 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -565,7 +565,7 @@ define dso_local void @setnbc35(i64 %a) { entry: %cmp = icmp eq i64 %a, 1 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -589,7 +589,7 @@ define dso_local void @setnbc36(i16 %a) { entry: %cmp = icmp eq i16 %a, 1 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -635,7 +635,7 @@ define dso_local void @setnbc39(i64 %a) { entry: %cmp = icmp ugt i64 %a, 1 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -825,7 +825,7 @@ define dso_local void @setnbc54(i8 %a) { entry: %cmp = icmp sgt i8 %a, 0 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -847,7 +847,7 @@ define dso_local void @setnbc55(i32 %a) { entry: %cmp = icmp sgt i32 %a, 0 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -869,7 +869,7 @@ define dso_local void @setnbc56(i64 %a) { entry: %cmp = icmp sgt i64 %a, 0 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -891,7 +891,7 @@ define dso_local void @setnbc57(i16 %a) { entry: %cmp = icmp sgt i16 %a, 0 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -1009,7 +1009,7 @@ define dso_local void @setnbc66(i8 %a) { entry: %cmp = icmp eq i8 %a, 0 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -1031,7 +1031,7 @@ define dso_local void @setnbc67(i32 %a) { entry: %cmp = icmp eq i32 %a, 0 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -1053,7 +1053,7 @@ define dso_local void @setnbc68(i64 %a) { entry: %cmp = icmp eq i64 %a, 0 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -1075,7 +1075,7 @@ define dso_local void @setnbc69(i16 %a) { entry: %cmp = icmp eq i16 %a, 0 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setnbc-rr.ll b/llvm/test/CodeGen/PowerPC/p10-setnbc-rr.ll index 5fd286e..405a385 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setnbc-rr.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setnbc-rr.ll @@ -84,7 +84,7 @@ define dso_local void @setnbc5(i8 signext %a, i8 signext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -106,7 +106,7 @@ define dso_local void @setnbc6(i32 signext %a, i32 signext %b) { entry: %cmp = icmp eq i32 %a, %b %conv = sext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -152,7 +152,7 @@ define dso_local void @setnbc9(i64 %a, i64 %b) { entry: %cmp = icmp eq i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -186,7 +186,7 @@ define dso_local void @setnbc11(i16 signext %a, i16 signext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -220,7 +220,7 @@ define dso_local void @setnbc13(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -254,7 +254,7 @@ define dso_local void @setnbc15(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp eq i32 %a, %b %conv = sext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -288,7 +288,7 @@ define dso_local void @setnbc17(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -322,7 +322,7 @@ define dso_local void @setnbc19(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sgt i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -344,7 +344,7 @@ define dso_local void @setnbc20(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sgt i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -378,7 +378,7 @@ define dso_local void @setnbc22(i64 %a, i64 %b) { entry: %cmp = icmp sgt i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -412,7 +412,7 @@ define dso_local void @setnbc24(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sgt i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -446,7 +446,7 @@ define dso_local void @setnbc26(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ugt i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -480,7 +480,7 @@ define dso_local void @setnbc28(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ugt i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -514,7 +514,7 @@ define dso_local void @setnbc30(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ugt i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -548,7 +548,7 @@ define dso_local void @setnbc32(i8 signext %a, i8 signext %b) { entry: %cmp = icmp slt i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -570,7 +570,7 @@ define dso_local void @setnbc33(i32 signext %a, i32 signext %b) { entry: %cmp = icmp slt i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -616,7 +616,7 @@ define dso_local void @setnbc36(i64 %a, i64 %b) { entry: %cmp = icmp slt i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -650,7 +650,7 @@ define dso_local void @setnbc38(i16 signext %a, i16 signext %b) { entry: %cmp = icmp slt i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -684,7 +684,7 @@ define dso_local void @setnbc40(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ult i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -718,7 +718,7 @@ define dso_local void @setnbc42(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ult i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -752,7 +752,7 @@ define dso_local void @setnbc44(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ult i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -786,7 +786,7 @@ define dso_local void @setnbc46(i8 signext %a, i8 signext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -820,7 +820,7 @@ define dso_local void @setnbc48(i32 signext %a, i32 signext %b) { entry: %cmp = icmp eq i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -842,7 +842,7 @@ define dso_local void @setnbc49(i64 %a, i64 %b) { entry: %cmp = icmp eq i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -876,7 +876,7 @@ define dso_local void @setnbc51(i16 signext %a, i16 signext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -910,7 +910,7 @@ define dso_local void @setnbc53(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp eq i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -944,7 +944,7 @@ define dso_local void @setnbc55(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp eq i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -978,7 +978,7 @@ define dso_local void @setnbc57(i64 %a, i64 %b) { entry: %cmp = icmp eq i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -1012,7 +1012,7 @@ define dso_local void @setnbc59(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp eq i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -1046,7 +1046,7 @@ define dso_local void @setnbc61(i64 %a, i64 %b) { entry: %cmp = icmp sgt i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -1080,7 +1080,7 @@ define dso_local void @setnbc63(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ugt i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -1114,7 +1114,7 @@ define dso_local void @setnbc65(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ugt i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -1148,7 +1148,7 @@ define dso_local void @setnbc67(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ugt i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -1182,7 +1182,7 @@ define dso_local void @setnbc69(i64 %a, i64 %b) { entry: %cmp = icmp slt i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -1216,7 +1216,7 @@ define dso_local void @setnbc71(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ult i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -1250,7 +1250,7 @@ define dso_local void @setnbc73(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ult i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -1284,7 +1284,7 @@ define dso_local void @setnbc75(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ult i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setnbcr-ri.ll b/llvm/test/CodeGen/PowerPC/p10-setnbcr-ri.ll index 68525ca..8c058cb 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setnbcr-ri.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setnbcr-ri.ll @@ -131,7 +131,7 @@ define dso_local void @setnbcr9(i8 %a) { entry: %cmp = icmp uge i8 %a, 1 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -153,7 +153,7 @@ define dso_local void @setnbcr10(i32 %a) { entry: %cmp = icmp uge i32 %a, 1 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -175,7 +175,7 @@ define dso_local void @setnbcr11(i64 %a) { entry: %cmp = icmp uge i64 %a, 1 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -197,7 +197,7 @@ define dso_local void @setnbcr12(i16 %a) { entry: %cmp = icmp uge i16 %a, 1 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } @@ -321,7 +321,7 @@ define dso_local void @setnbcr21(i8 %a) { entry: %cmp = icmp ne i8 %a, 1 %conv1 = sext i1 %cmp to i8 - store i8 %conv1, i8* @globalVal, align 1 + store i8 %conv1, ptr @globalVal, align 1 ret void } @@ -343,7 +343,7 @@ define dso_local void @setnbcr22(i32 %a) { entry: %cmp = icmp ne i32 %a, 1 %conv1 = sext i1 %cmp to i32 - store i32 %conv1, i32* @globalVal2, align 4 + store i32 %conv1, ptr @globalVal2, align 4 ret void } @@ -365,7 +365,7 @@ define dso_local void @setnbcr23(i64 %a) { entry: %cmp = icmp ne i64 %a, 1 %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -389,7 +389,7 @@ define dso_local void @setnbcr24(i16 %a) { entry: %cmp = icmp ne i16 %a, 1 %conv1 = sext i1 %cmp to i16 - store i16 %conv1, i16* @globalVal4, align 2 + store i16 %conv1, ptr @globalVal4, align 2 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-setnbcr-rr.ll b/llvm/test/CodeGen/PowerPC/p10-setnbcr-rr.ll index d648f52..af0086c 100644 --- a/llvm/test/CodeGen/PowerPC/p10-setnbcr-rr.ll +++ b/llvm/test/CodeGen/PowerPC/p10-setnbcr-rr.ll @@ -83,7 +83,7 @@ define dso_local void @setnbcr5(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sge i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -105,7 +105,7 @@ define dso_local void @setnbcr6(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sge i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -151,7 +151,7 @@ define dso_local void @setnbcr9(i64 %a, i64 %b) { entry: %cmp = icmp sge i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -185,7 +185,7 @@ define dso_local void @setnbcr11(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sge i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -219,7 +219,7 @@ define dso_local void @setnbcr13(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp uge i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal + store i8 %conv3, ptr @globalVal ret void } @@ -253,7 +253,7 @@ define dso_local void @setnbcr15(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp uge i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2 + store i32 %sub, ptr @globalVal2 ret void } @@ -287,7 +287,7 @@ define dso_local void @setnbcr17(i64 %a, i64 %b) { entry: %cmp = icmp uge i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -321,7 +321,7 @@ define dso_local void @setnbcr19(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp uge i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4 + store i16 %conv3, ptr @globalVal4 ret void } @@ -355,7 +355,7 @@ define dso_local void @setnbcr21(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sle i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -389,7 +389,7 @@ define dso_local void @setnbcr23(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sle i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -423,7 +423,7 @@ define dso_local void @setnbcr25(i64 %a, i64 %b) { entry: %cmp = icmp sle i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -457,7 +457,7 @@ define dso_local void @setnbcr27(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sle i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -491,7 +491,7 @@ define dso_local void @setnbcr29(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ule i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal + store i8 %conv3, ptr @globalVal ret void } @@ -525,7 +525,7 @@ define dso_local void @setnbcr31(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ule i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2 + store i32 %sub, ptr @globalVal2 ret void } @@ -559,7 +559,7 @@ define dso_local void @setnbcr33(i64 %a, i64 %b) { entry: %cmp = icmp ule i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -593,7 +593,7 @@ define dso_local void @setnbcr35(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ule i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4 + store i16 %conv3, ptr @globalVal4 ret void } @@ -627,7 +627,7 @@ define dso_local void @setnbcr37(i8 signext %a, i8 signext %b) { entry: %cmp = icmp ne i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -649,7 +649,7 @@ define dso_local void @setnbcr38(i32 signext %a, i32 signext %b) { entry: %cmp = icmp ne i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -683,7 +683,7 @@ define dso_local void @setnbcr40(i64 %a, i64 %b) { entry: %cmp = icmp ne i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -717,7 +717,7 @@ define dso_local void @setnbcr42(i16 signext %a, i16 signext %b) { entry: %cmp = icmp ne i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -751,7 +751,7 @@ define dso_local void @sernbcr44(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ne i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -785,7 +785,7 @@ define dso_local void @setnbcr46(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ne i32 %a, %b %conv = sext i1 %cmp to i32 - store i32 %conv, i32* @globalVal2, align 4 + store i32 %conv, ptr @globalVal2, align 4 ret void } @@ -819,7 +819,7 @@ define dso_local void @setnbcr48(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ne i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -853,7 +853,7 @@ define dso_local void @setnbcr50(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sge i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -887,7 +887,7 @@ define dso_local void @setnbcr52(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sge i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -921,7 +921,7 @@ define dso_local void @setnbcr54(i64 %a, i64 %b) { entry: %cmp = icmp sge i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -955,7 +955,7 @@ define dso_local void @setnbcr56(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sge i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -989,7 +989,7 @@ define dso_local void @setnbcr58(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp uge i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal + store i8 %conv3, ptr @globalVal ret void } @@ -1023,7 +1023,7 @@ define dso_local void @setnbcr60(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp uge i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2 + store i32 %sub, ptr @globalVal2 ret void } @@ -1057,7 +1057,7 @@ define dso_local void @setnbcr62(i64 %a, i64 %b) { entry: %cmp = icmp uge i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -1091,7 +1091,7 @@ define dso_local void @setnbcr64(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp uge i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4 + store i16 %conv3, ptr @globalVal4 ret void } @@ -1125,7 +1125,7 @@ define dso_local void @setnbcr66(i8 signext %a, i8 signext %b) { entry: %cmp = icmp sle i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal, align 1 + store i8 %conv3, ptr @globalVal, align 1 ret void } @@ -1159,7 +1159,7 @@ define dso_local void @setnbcr68(i32 signext %a, i32 signext %b) { entry: %cmp = icmp sle i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2, align 4 + store i32 %sub, ptr @globalVal2, align 4 ret void } @@ -1193,7 +1193,7 @@ define dso_local void @setnbcr70(i64 %a, i64 %b) { entry: %cmp = icmp sle i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } @@ -1227,7 +1227,7 @@ define dso_local void @setnbcr72(i16 signext %a, i16 signext %b) { entry: %cmp = icmp sle i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4, align 2 + store i16 %conv3, ptr @globalVal4, align 2 ret void } @@ -1261,7 +1261,7 @@ define dso_local void @setnbcr74(i8 zeroext %a, i8 zeroext %b) { entry: %cmp = icmp ule i8 %a, %b %conv3 = sext i1 %cmp to i8 - store i8 %conv3, i8* @globalVal + store i8 %conv3, ptr @globalVal ret void } @@ -1295,7 +1295,7 @@ define dso_local void @setnbcr76(i32 zeroext %a, i32 zeroext %b) { entry: %cmp = icmp ule i32 %a, %b %sub = sext i1 %cmp to i32 - store i32 %sub, i32* @globalVal2 + store i32 %sub, ptr @globalVal2 ret void } @@ -1329,7 +1329,7 @@ define dso_local void @setnbcr78(i64 %a, i64 %b) { entry: %cmp = icmp ule i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3 + store i64 %conv1, ptr @globalVal3 ret void } @@ -1363,7 +1363,7 @@ define dso_local void @setnbcr80(i16 zeroext %a, i16 zeroext %b) { entry: %cmp = icmp ule i16 %a, %b %conv3 = sext i1 %cmp to i16 - store i16 %conv3, i16* @globalVal4 + store i16 %conv3, ptr @globalVal4 ret void } @@ -1409,7 +1409,7 @@ define dso_local void @setnbcr83(i64 %a, i64 %b) { entry: %cmp = icmp ne i64 %a, %b %conv1 = sext i1 %cmp to i64 - store i64 %conv1, i64* @globalVal3, align 8 + store i64 %conv1, ptr @globalVal3, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p10-spill-creq.ll b/llvm/test/CodeGen/PowerPC/p10-spill-creq.ll index e3d54cc..fc5ef88 100644 --- a/llvm/test/CodeGen/PowerPC/p10-spill-creq.ll +++ b/llvm/test/CodeGen/PowerPC/p10-spill-creq.ll @@ -15,13 +15,13 @@ ; bit of any CR field is spilled. We need to test the spilling of a CR bit ; other than the LT bit. Hence this test case is rather complex. -%0 = type { i32, %1*, %0*, [1 x i8], i8*, i8*, i8*, i8*, i64, i32, [20 x i8] } -%1 = type { %1*, %0*, i32 } -%2 = type { [200 x i8], [200 x i8], %3*, %3*, %4*, %4*, %4*, %4*, %4*, i64 } -%3 = type { i64, i32, %3*, %3*, %3*, %3*, %4*, %4*, %4*, %4*, i64, i32, i32 } -%4 = type { i32, i64, %3*, %3*, i16, %4*, %4*, i64, i64 } +%0 = type { i32, ptr, ptr, [1 x i8], ptr, ptr, ptr, ptr, i64, i32, [20 x i8] } +%1 = type { ptr, ptr, i32 } +%2 = type { [200 x i8], [200 x i8], ptr, ptr, ptr, ptr, ptr, ptr, ptr, i64 } +%3 = type { i64, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i64, i32, i32 } +%4 = type { i32, i64, ptr, ptr, i16, ptr, ptr, i64, i64 } -define dso_local double @P10_Spill_CR_EQ(%2* %arg) local_unnamed_addr #0 { +define dso_local double @P10_Spill_CR_EQ(ptr %arg) local_unnamed_addr #0 { ; CHECK-LABEL: P10_Spill_CR_EQ: ; CHECK: # %bb.0: # %bb ; CHECK-NEXT: mfcr r12 @@ -187,10 +187,10 @@ define dso_local double @P10_Spill_CR_EQ(%2* %arg) local_unnamed_addr #0 { ; CHECK-NEXT: xsadddp f1, f0, f1 ; CHECK-NEXT: blr bb: - %tmp = getelementptr inbounds %4, %4* null, i64 undef, i32 7 - %tmp1 = load i64, i64* undef, align 8 - %tmp2 = load i64, i64* null, align 8 - %tmp3 = load i64, i64* %tmp, align 8 + %tmp = getelementptr inbounds %4, ptr null, i64 undef, i32 7 + %tmp1 = load i64, ptr undef, align 8 + %tmp2 = load i64, ptr null, align 8 + %tmp3 = load i64, ptr %tmp, align 8 %tmp4 = icmp eq i64 %tmp1, 0 %tmp5 = icmp eq i64 %tmp2, 0 %tmp6 = icmp eq i64 %tmp3, 0 @@ -200,7 +200,7 @@ bb: br i1 %tmp4, label %bb12, label %bb10 bb10: ; preds = %bb - %tmp11 = load i32, i32* undef, align 8 + %tmp11 = load i32, ptr undef, align 8 br label %bb12 bb12: ; preds = %bb10, %bb @@ -208,7 +208,7 @@ bb12: ; preds = %bb10, %bb br i1 %tmp5, label %bb16, label %bb14 bb14: ; preds = %bb12 - %tmp15 = load i32, i32* undef, align 8 + %tmp15 = load i32, ptr undef, align 8 br label %bb16 bb16: ; preds = %bb14, %bb12 @@ -216,7 +216,7 @@ bb16: ; preds = %bb14, %bb12 br i1 %tmp6, label %bb20, label %bb18 bb18: ; preds = %bb16 - %tmp19 = load i32, i32* undef, align 8 + %tmp19 = load i32, ptr undef, align 8 br label %bb20 bb20: ; preds = %bb18, %bb16 @@ -236,7 +236,7 @@ bb20: ; preds = %bb18, %bb16 br i1 %tmp31, label %bb34, label %bb36 bb34: ; preds = %bb20 - %tmp35 = load i64, i64* undef, align 8 + %tmp35 = load i64, ptr undef, align 8 br label %bb36 bb36: ; preds = %bb34, %bb20 @@ -244,7 +244,7 @@ bb36: ; preds = %bb34, %bb20 br i1 %tmp33, label %bb38, label %bb40 bb38: ; preds = %bb36 - %tmp39 = load i64, i64* undef, align 8 + %tmp39 = load i64, ptr undef, align 8 br label %bb40 bb40: ; preds = %bb38, %bb36 @@ -258,15 +258,15 @@ bb40: ; preds = %bb38, %bb36 br i1 %tmp47, label %bb48, label %bb50 bb48: ; preds = %bb40 - %tmp49 = load %3*, %3** undef, align 8 + %tmp49 = load ptr, ptr undef, align 8 br label %bb50 bb50: ; preds = %bb48, %bb40 - %tmp51 = phi %3* [ undef, %bb40 ], [ %tmp49, %bb48 ] + %tmp51 = phi ptr [ undef, %bb40 ], [ %tmp49, %bb48 ] br i1 %tmp45, label %bb52, label %bb54 bb52: ; preds = %bb50 - %tmp53 = load i32, i32* undef, align 8 + %tmp53 = load i32, ptr undef, align 8 br label %bb54 bb54: ; preds = %bb52, %bb50 @@ -274,13 +274,13 @@ bb54: ; preds = %bb52, %bb50 br i1 %tmp46, label %bb56, label %bb58 bb56: ; preds = %bb54 - %tmp57 = load i32, i32* undef, align 8 + %tmp57 = load i32, ptr undef, align 8 br label %bb58 bb58: ; preds = %bb56, %bb54 %tmp59 = phi i32 [ undef, %bb54 ], [ %tmp57, %bb56 ] - %tmp60 = getelementptr inbounds %3, %3* %tmp51, i64 0, i32 12 - %tmp61 = load i32, i32* %tmp60, align 8 + %tmp60 = getelementptr inbounds %3, ptr %tmp51, i64 0, i32 12 + %tmp61 = load i32, ptr %tmp60, align 8 %tmp62 = icmp slt i32 %tmp55, 1 %tmp63 = icmp slt i32 %tmp59, 1 %tmp64 = icmp slt i32 %tmp61, 1 @@ -290,12 +290,12 @@ bb58: ; preds = %bb56, %bb54 br i1 %tmp65, label %bb68, label %bb70 bb68: ; preds = %bb58 - %tmp69 = load i64, i64* undef, align 8 + %tmp69 = load i64, ptr undef, align 8 br label %bb70 bb70: ; preds = %bb68, %bb58 %tmp71 = phi i64 [ undef, %bb58 ], [ %tmp69, %bb68 ] - %tmp72 = load i64, i64* undef, align 8 + %tmp72 = load i64, ptr undef, align 8 %tmp73 = xor i1 %tmp25, true %tmp74 = xor i1 %tmp26, true %tmp75 = xor i1 %tmp27, true diff --git a/llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll b/llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll index 4c4d9c9..8071241 100644 --- a/llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll +++ b/llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll @@ -401,7 +401,7 @@ define dso_local fastcc void @P10_Spill_CR_GT() unnamed_addr { ; CHECK-BE-NEXT: bc 4, 4*cr4+eq, .LBB0_34 ; CHECK-BE-NEXT: b .LBB0_35 bb: - %tmp = load i32, i32* undef, align 8 + %tmp = load i32, ptr undef, align 8 %tmp1 = and i32 %tmp, 16 %tmp2 = icmp ne i32 %tmp1, 0 %tmp3 = and i32 %tmp, 32 @@ -411,7 +411,7 @@ bb: bb5: ; preds = %bb63, %bb %tmp6 = phi i32 [ 0, %bb ], [ %tmp64, %bb63 ] %tmp7 = phi i1 [ %tmp4, %bb ], [ undef, %bb63 ] - %tmp8 = load i32, i32* undef, align 8 + %tmp8 = load i32, ptr undef, align 8 br i1 %tmp2, label %bb9, label %bb10 bb9: ; preds = %bb5 @@ -528,16 +528,16 @@ bb32: ; preds = %bb40, %bb29 br i1 %tmp7, label %bb33, label %bb36 bb33: ; preds = %bb32 - %tmp34 = getelementptr inbounds i8, i8* null, i64 -1 - %tmp35 = select i1 %tmp12, i8* %tmp34, i8* null - store i8 0, i8* %tmp35, align 1 + %tmp34 = getelementptr inbounds i8, ptr null, i64 -1 + %tmp35 = select i1 %tmp12, ptr %tmp34, ptr null + store i8 0, ptr %tmp35, align 1 br label %bb36 bb36: ; preds = %bb33, %bb32 br i1 %tmp30, label %bb37, label %bb38 bb37: ; preds = %bb36 - store i16 undef, i16* null, align 2 + store i16 undef, ptr null, align 2 br label %bb38 bb38: ; preds = %bb37, %bb36 @@ -558,9 +558,9 @@ bb42: ; preds = %bb42, %bb41 bb43: ; preds = %bb10, %bb10 call void @call_1() - %tmp44 = getelementptr inbounds i8, i8* null, i64 -1 - %tmp45 = select i1 %tmp12, i8* %tmp44, i8* null - store i8 0, i8* %tmp45, align 1 + %tmp44 = getelementptr inbounds i8, ptr null, i64 -1 + %tmp45 = select i1 %tmp12, ptr %tmp44, ptr null + store i8 0, ptr %tmp45, align 1 br label %bb63 bb46: ; preds = %bb46, %bb10 diff --git a/llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll b/llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll index 6c6b26bc..5c1c1d9 100644 --- a/llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll +++ b/llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll @@ -16,10 +16,10 @@ ; other than the LT bit. Hence this test case is rather complex. %0 = type { %1 } -%1 = type { %0*, %0*, %0*, i32 } +%1 = type { ptr, ptr, ptr, i32 } @call_1 = external dso_local unnamed_addr global i32, align 4 -declare %0* @call_2() local_unnamed_addr +declare ptr @call_2() local_unnamed_addr declare i32 @call_3() local_unnamed_addr declare void @call_4() local_unnamed_addr @@ -156,8 +156,8 @@ define dso_local void @P10_Spill_CR_LT() local_unnamed_addr { ; CHECK-BE-NEXT: .LBB0_13: # %bb3 ; CHECK-BE-NEXT: .LBB0_14: # %bb2 bb: - %tmp = tail call %0* @call_2() - %tmp1 = icmp ne %0* %tmp, null + %tmp = tail call ptr @call_2() + %tmp1 = icmp ne ptr %tmp, null switch i32 undef, label %bb4 [ i32 3, label %bb2 i32 2, label %bb3 @@ -170,13 +170,13 @@ bb3: ; preds = %bb unreachable bb4: ; preds = %bb - %tmp5 = load i64, i64* undef, align 8 + %tmp5 = load i64, ptr undef, align 8 %tmp6 = trunc i64 %tmp5 to i32 %tmp7 = add i32 0, %tmp6 %tmp8 = icmp sgt i32 %tmp7, 0 %tmp9 = icmp eq i8 0, 0 %tmp10 = zext i1 %tmp9 to i32 - %tmp11 = icmp eq %0* %tmp, null + %tmp11 = icmp eq ptr %tmp, null br label %bb12 bb12: ; preds = %bb38, %bb4 @@ -200,7 +200,7 @@ bb23: ; preds = %bb18 br label %bb24 bb24: ; preds = %bb23 - %tmp25 = load i32, i32* @call_1, align 4 + %tmp25 = load i32, ptr @call_1, align 4 %tmp26 = icmp eq i32 %tmp25, 0 br i1 %tmp26, label %bb30, label %bb27 diff --git a/llvm/test/CodeGen/PowerPC/p10-spill-crun.ll b/llvm/test/CodeGen/PowerPC/p10-spill-crun.ll index 6457037..4ca2dc5db 100644 --- a/llvm/test/CodeGen/PowerPC/p10-spill-crun.ll +++ b/llvm/test/CodeGen/PowerPC/p10-spill-crun.ll @@ -17,23 +17,23 @@ %0 = type { i32, [768 x i8], [768 x i8], [1024 x i8], [768 x i8], [768 x i8], [768 x i8], [768 x i8], [768 x i8], [1024 x i8], [1024 x i8], i32, i16, i16, i16, i16, i16, i16, i32, i32, i32, i16, i16, i32, i32, i32, i32, i32, i32, i32, i16, i16, i16, i16, [64 x i8], i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i32, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i8, i8, i8, i8, i16, i16, i16, i16, i16, i16, float, float, i32, i16, i16, float, i16, i16, i16, i16} %1 = type opaque -%2 = type { i8* } -%3 = type { %3*, %3*, %4* (i8*)*, %2, i32, %2, %2*, i8*, double*, float*, i8*, i8*, %4* } -%4 = type { %4*, %4*, %4*, i32, i32, i32, i32, i32, i8*, [3 x float], i8, [64 x i8] } +%2 = type { ptr } +%3 = type { ptr, ptr, ptr, %2, i32, %2, ptr, ptr, ptr, ptr, ptr, ptr, ptr } +%4 = type { ptr, ptr, ptr, i32, i32, i32, i32, i32, ptr, [3 x float], i8, [64 x i8] } @global_1 = external dso_local unnamed_addr constant [1 x i8], align 1 @global_2 = external local_unnamed_addr global %0, align 8 -@global_3 = external local_unnamed_addr global i8* (i64, i8*)*, align 8 +@global_3 = external local_unnamed_addr global ptr, align 8 @global_4 = external dso_local unnamed_addr constant [14 x i8], align 1 -declare i8 @call_1(%1*) local_unnamed_addr -declare i32 @call_2(%2*, %1*) local_unnamed_addr -declare i32 @call_3(%2*, %1*) local_unnamed_addr -declare %3* @call_4(%4*, i32, i32, i32, i32, i32, i16, i16, %2*, %1*, i32, float, float, float, float, i8*) local_unnamed_addr -declare i32 @call_5(i8*) local_unnamed_addr -declare i8 @call_6(%1*, i32) local_unnamed_addr +declare i8 @call_1(ptr) local_unnamed_addr +declare i32 @call_2(ptr, ptr) local_unnamed_addr +declare i32 @call_3(ptr, ptr) local_unnamed_addr +declare ptr @call_4(ptr, i32, i32, i32, i32, i32, i16, i16, ptr, ptr, i32, float, float, float, float, ptr) local_unnamed_addr +declare i32 @call_5(ptr) local_unnamed_addr +declare i8 @call_6(ptr, i32) local_unnamed_addr -define dso_local void @P10_Spill_CR_UN(%2* %arg, %1* %arg1, i32 %arg2) local_unnamed_addr { +define dso_local void @P10_Spill_CR_UN(ptr %arg, ptr %arg1, i32 %arg2) local_unnamed_addr { ; CHECK-LABEL: P10_Spill_CR_UN: ; CHECK: # %bb.0: # %bb ; CHECK-NEXT: mfcr r12 @@ -340,9 +340,9 @@ define dso_local void @P10_Spill_CR_UN(%2* %arg, %1* %arg1, i32 %arg2) local_unn ; CHECK-BE-NEXT: .LBB0_19: # %bb55 bb: %tmp = alloca [3 x i8], align 1 - %tmp3 = tail call zeroext i8 @call_1(%1* %arg1) + %tmp3 = tail call zeroext i8 @call_1(ptr %arg1) %tmp4 = icmp ne i8 %tmp3, 0 - %tmp5 = tail call signext i32 @call_2(%2* %arg, %1* %arg1) + %tmp5 = tail call signext i32 @call_2(ptr %arg, ptr %arg1) %tmp6 = and i32 %arg2, 16 %tmp7 = icmp ne i32 %tmp6, 0 br label %bb8 @@ -351,7 +351,7 @@ bb8: ; preds = %bb br i1 undef, label %bb9, label %bb11 bb9: ; preds = %bb8 - %tmp10 = call signext i32 @call_3(%2* %arg, %1* %arg1) + %tmp10 = call signext i32 @call_3(ptr %arg, ptr %arg1) br label %bb12 bb11: ; preds = %bb8 @@ -369,18 +369,16 @@ bb16: ; preds = %bb12 br i1 %tmp18, label %bb37, label %bb19 bb19: ; preds = %bb16 - %tmp20 = getelementptr inbounds [3 x i8], [3 x i8]* %tmp, i64 0, i64 0 - %tmp21 = load i8* (i64, i8*)*, i8* (i64, i8*)** @global_3, align 8 - %tmp22 = call i8* %tmp21(i64 undef, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @global_4, i64 0, i64 0)) - %tmp23 = bitcast i8* %tmp22 to i32* - %tmp24 = icmp eq i32* %tmp23, null + %tmp21 = load ptr, ptr @global_3, align 8 + %tmp22 = call ptr %tmp21(i64 undef, ptr @global_4) + %tmp24 = icmp eq ptr %tmp22, null %tmp25 = icmp eq i32 %tmp13, 0 %tmp26 = zext i32 %tmp5 to i64 br label %bb27 bb27: ; preds = %bb34, %bb19 - %tmp28 = call zeroext i8 @call_6(%1* %arg1, i32 signext undef) - store i8 %tmp28, i8* %tmp20, align 1 + %tmp28 = call zeroext i8 @call_6(ptr %arg1, i32 signext undef) + store i8 %tmp28, ptr %tmp, align 1 br label %bb29 bb29: ; preds = %bb27 @@ -406,8 +404,8 @@ bb36: ; preds = %bb34 br label %bb54 bb37: ; preds = %bb16 - %tmp38 = load i32, i32* undef, align 8 - %tmp39 = select i1 %tmp7, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @global_1, i64 0, i64 0), i8* null + %tmp38 = load i32, ptr undef, align 8 + %tmp39 = select i1 %tmp7, ptr @global_1, ptr null %tmp40 = icmp ne i32 %tmp38, 0 switch i32 undef, label %bb41 [ i32 1, label %bb42 @@ -418,8 +416,8 @@ bb41: ; preds = %bb37 br label %bb50 bb42: ; preds = %bb37, %bb37 - %tmp43 = call signext i32 @call_5(i8* %tmp39) - %tmp44 = load i16, i16* getelementptr inbounds (%0, %0* @global_2, i64 0, i32 81), align 4 + %tmp43 = call signext i32 @call_5(ptr %tmp39) + %tmp44 = load i16, ptr getelementptr inbounds (%0, ptr @global_2, i64 0, i32 81), align 4 %tmp45 = sitofp i16 %tmp44 to float %tmp46 = select i1 %tmp40, float 1.750000e+00, float 1.500000e+00 %tmp47 = fmul fast float %tmp46, %tmp45 @@ -430,7 +428,7 @@ bb42: ; preds = %bb37, %bb37 bb50: ; preds = %bb42, %bb41 %tmp51 = phi i32 [ %tmp49, %bb42 ], [ undef, %bb41 ] %tmp52 = trunc i32 %tmp51 to i16 - %tmp53 = call %3* @call_4(%4* nonnull undef, i32 signext 1024, i32 signext 0, i32 signext %tmp38, i32 signext 0, i32 signext 0, i16 signext %tmp52, i16 signext undef, %2* %arg, %1* %arg1, i32 signext -1, float 0.000000e+00, float undef, float -1.000000e+00, float -1.000000e+00, i8* null) + %tmp53 = call ptr @call_4(ptr nonnull undef, i32 signext 1024, i32 signext 0, i32 signext %tmp38, i32 signext 0, i32 signext 0, i16 signext %tmp52, i16 signext undef, ptr %arg, ptr %arg1, i32 signext -1, float 0.000000e+00, float undef, float -1.000000e+00, float -1.000000e+00, ptr null) br label %bb54 bb54: ; preds = %bb50, %bb36 diff --git a/llvm/test/CodeGen/PowerPC/p8-isel-sched.ll b/llvm/test/CodeGen/PowerPC/p8-isel-sched.ll index 1fc3ef2..b7452bd 100644 --- a/llvm/test/CodeGen/PowerPC/p8-isel-sched.ll +++ b/llvm/test/CodeGen/PowerPC/p8-isel-sched.ll @@ -4,21 +4,21 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind -define void @foo(i32* nocapture %r1, i32* nocapture %r2, i32* nocapture %r3, i32* nocapture %r4, i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d) #0 { +define void @foo(ptr nocapture %r1, ptr nocapture %r2, ptr nocapture %r3, ptr nocapture %r4, i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d) #0 { entry: %tobool = icmp ne i32 %a, 0 %cond = select i1 %tobool, i32 %b, i32 %c - store i32 %cond, i32* %r1, align 4 + store i32 %cond, ptr %r1, align 4 %cond5 = select i1 %tobool, i32 %b, i32 %d - store i32 %cond5, i32* %r2, align 4 + store i32 %cond5, ptr %r2, align 4 %add = add nsw i32 %b, 1 %sub = add nsw i32 %d, -2 %cond10 = select i1 %tobool, i32 %add, i32 %sub - store i32 %cond10, i32* %r3, align 4 + store i32 %cond10, ptr %r3, align 4 %add13 = add nsw i32 %b, 3 %sub15 = add nsw i32 %d, -5 %cond17 = select i1 %tobool, i32 %add13, i32 %sub15 - store i32 %cond17, i32* %r4, align 4 + store i32 %cond17, ptr %r4, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll b/llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll index edacc81..29252e6 100644 --- a/llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll +++ b/llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll @@ -174,7 +174,7 @@ define <2 x double> @buildd() { ; CHECK-AIX-NEXT: lxvdsx 34, 0, 3 ; CHECK-AIX-NEXT: blr entry: - %0 = load double, double* @d, align 8 + %0 = load double, ptr @d, align 8 %splat.splatinsert = insertelement <2 x double> undef, double %0, i32 0 %splat.splat = shufflevector <2 x double> %splat.splatinsert, <2 x double> undef, <2 x i32> zeroinitializer ret <2 x double> %splat.splat diff --git a/llvm/test/CodeGen/PowerPC/p9-dform-load-alignment.ll b/llvm/test/CodeGen/PowerPC/p9-dform-load-alignment.ll index 0591253..c9e6f15 100644 --- a/llvm/test/CodeGen/PowerPC/p9-dform-load-alignment.ll +++ b/llvm/test/CodeGen/PowerPC/p9-dform-load-alignment.ll @@ -12,8 +12,8 @@ define dso_local void @AlignDSForm() local_unnamed_addr { ; CHECK-NEXT: ld r3, 0(r3) ; CHECK-NEXT: std r3, 0(r3) entry: - %0 = load <4 x i16>, <4 x i16>* bitcast ([4 x i16]* @best8x8mode to <4 x i16>*), align 2 - store <4 x i16> %0, <4 x i16>* undef, align 4 + %0 = load <4 x i16>, ptr @best8x8mode, align 2 + store <4 x i16> %0, ptr undef, align 4 unreachable } diff --git a/llvm/test/CodeGen/PowerPC/p9-vbpermd.ll b/llvm/test/CodeGen/PowerPC/p9-vbpermd.ll index 01fa563..c8d655d 100644 --- a/llvm/test/CodeGen/PowerPC/p9-vbpermd.ll +++ b/llvm/test/CodeGen/PowerPC/p9-vbpermd.ll @@ -23,10 +23,10 @@ define void @test1() { ; CHECK-NEXT: stxv 34, 0(3) ; CHECK-NEXT: blr entry: - %0 = load <2 x i64>, <2 x i64>* @vull, align 16 - %1 = load <16 x i8>, <16 x i8>* @vuc, align 16 + %0 = load <2 x i64>, ptr @vull, align 16 + %1 = load <16 x i8>, ptr @vuc, align 16 %2 = call <2 x i64> @llvm.ppc.altivec.vbpermd(<2 x i64> %0, <16 x i8> %1) - store <2 x i64> %2, <2 x i64>* @res_vull, align 16 + store <2 x i64> %2, ptr @res_vull, align 16 ret void } declare <2 x i64> @llvm.ppc.altivec.vbpermd(<2 x i64>, <16 x i8>) diff --git a/llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll b/llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll index 89b0ad1..1dcef38 100644 --- a/llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll +++ b/llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll @@ -17,7 +17,7 @@ ; assemble_pair declare <256 x i1> @llvm.ppc.vsx.assemble.pair(<16 x i8>, <16 x i8>) -define void @ass_pair(<256 x i1>* %ptr, <16 x i8> %vc) { +define void @ass_pair(ptr %ptr, <16 x i8> %vc) { ; CHECK-LABEL: ass_pair: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vmr v3, v2 @@ -47,13 +47,13 @@ define void @ass_pair(<256 x i1>* %ptr, <16 x i8> %vc) { ; CHECK-BE-NOMMA-NEXT: blr entry: %0 = tail call <256 x i1> @llvm.ppc.vsx.assemble.pair(<16 x i8> %vc, <16 x i8> %vc) - store <256 x i1> %0, <256 x i1>* %ptr, align 32 + store <256 x i1> %0, ptr %ptr, align 32 ret void } ; disassemble_pair declare { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1>) -define void @disass_pair(<256 x i1>* %ptr1, <16 x i8>* %ptr2, <16 x i8>* %ptr3) { +define void @disass_pair(ptr %ptr1, ptr %ptr2, ptr %ptr3) { ; CHECK-LABEL: disass_pair: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv v3, 0(r3) @@ -86,16 +86,16 @@ define void @disass_pair(<256 x i1>* %ptr1, <16 x i8>* %ptr2, <16 x i8>* %ptr3) ; CHECK-BE-NOMMA-NEXT: stxv v3, 0(r5) ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = load <256 x i1>, <256 x i1>* %ptr1, align 32 + %0 = load <256 x i1>, ptr %ptr1, align 32 %1 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %0) %2 = extractvalue { <16 x i8>, <16 x i8> } %1, 0 %3 = extractvalue { <16 x i8>, <16 x i8> } %1, 1 - store <16 x i8> %2, <16 x i8>* %ptr2, align 16 - store <16 x i8> %3, <16 x i8>* %ptr3, align 16 + store <16 x i8> %2, ptr %ptr2, align 16 + store <16 x i8> %3, ptr %ptr3, align 16 ret void } -define void @test_ldst_1(<256 x i1>* %vpp, <256 x i1>* %vp2) { +define void @test_ldst_1(ptr %vpp, ptr %vp2) { ; CHECK-LABEL: test_ldst_1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxvp vsp34, 0(r3) @@ -120,17 +120,15 @@ define void @test_ldst_1(<256 x i1>* %vpp, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: stxvp vsp34, 0(r4) ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %0) - %2 = bitcast <256 x i1>* %vp2 to i8* - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, i8* %2) + %0 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %vpp) + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %0, ptr %vp2) ret void } -declare <256 x i1> @llvm.ppc.vsx.lxvp(i8*) -declare void @llvm.ppc.vsx.stxvp(<256 x i1>, i8*) +declare <256 x i1> @llvm.ppc.vsx.lxvp(ptr) +declare void @llvm.ppc.vsx.stxvp(<256 x i1>, ptr) -define void @test_ldst_2(<256 x i1>* %vpp, i64 %offset, <256 x i1>* %vp2) { +define void @test_ldst_2(ptr %vpp, i64 %offset, ptr %vp2) { ; CHECK-LABEL: test_ldst_2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxvpx vsp34, r3, r4 @@ -155,16 +153,14 @@ define void @test_ldst_2(<256 x i1>* %vpp, i64 %offset, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: stxvpx vsp34, r5, r4 ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = getelementptr i8, i8* %0, i64 %offset - %2 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %1) - %3 = bitcast <256 x i1>* %vp2 to i8* - %4 = getelementptr i8, i8* %3, i64 %offset - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %2, i8* %4) + %0 = getelementptr i8, ptr %vpp, i64 %offset + %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %0) + %2 = getelementptr i8, ptr %vp2, i64 %offset + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, ptr %2) ret void } -define void @test_ldst_3(<256 x i1>* %vpp, <256 x i1>* %vp2) { +define void @test_ldst_3(ptr %vpp, ptr %vp2) { ; CHECK-LABEL: test_ldst_3: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: plxvp vsp34, 18(r3), 0 @@ -189,16 +185,14 @@ define void @test_ldst_3(<256 x i1>* %vpp, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: pstxvp vsp34, 18(r4), 0 ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = getelementptr i8, i8* %0, i64 18 - %2 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %1) - %3 = bitcast <256 x i1>* %vp2 to i8* - %4 = getelementptr i8, i8* %3, i64 18 - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %2, i8* %4) + %0 = getelementptr i8, ptr %vpp, i64 18 + %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %0) + %2 = getelementptr i8, ptr %vp2, i64 18 + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, ptr %2) ret void } -define void @test_ldst_4(<256 x i1>* %vpp, <256 x i1>* %vp2) { +define void @test_ldst_4(ptr %vpp, ptr %vp2) { ; CHECK-LABEL: test_ldst_4: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: plxvp vsp34, 1(r3), 0 @@ -223,16 +217,14 @@ define void @test_ldst_4(<256 x i1>* %vpp, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: pstxvp vsp34, 1(r4), 0 ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = getelementptr i8, i8* %0, i64 1 - %2 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %1) - %3 = bitcast <256 x i1>* %vp2 to i8* - %4 = getelementptr i8, i8* %3, i64 1 - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %2, i8* %4) + %0 = getelementptr i8, ptr %vpp, i64 1 + %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %0) + %2 = getelementptr i8, ptr %vp2, i64 1 + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, ptr %2) ret void } -define void @test_ldst_5(<256 x i1>* %vpp, <256 x i1>* %vp2) { +define void @test_ldst_5(ptr %vpp, ptr %vp2) { ; CHECK-LABEL: test_ldst_5: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: plxvp vsp34, 42(r3), 0 @@ -257,16 +249,14 @@ define void @test_ldst_5(<256 x i1>* %vpp, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: pstxvp vsp34, 42(r4), 0 ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = getelementptr i8, i8* %0, i64 42 - %2 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %1) - %3 = bitcast <256 x i1>* %vp2 to i8* - %4 = getelementptr i8, i8* %3, i64 42 - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %2, i8* %4) + %0 = getelementptr i8, ptr %vpp, i64 42 + %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %0) + %2 = getelementptr i8, ptr %vp2, i64 42 + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, ptr %2) ret void } -define void @test_ldst_6(<256 x i1>* %vpp, <256 x i1>* %vp2) { +define void @test_ldst_6(ptr %vpp, ptr %vp2) { ; CHECK-LABEL: test_ldst_6: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxvp vsp34, 4096(r3) @@ -291,16 +281,14 @@ define void @test_ldst_6(<256 x i1>* %vpp, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: stxvp vsp34, 4096(r4) ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = getelementptr <256 x i1>, <256 x i1>* %vpp, i64 128 - %1 = bitcast <256 x i1>* %0 to i8* - %2 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %1) - %3 = getelementptr <256 x i1>, <256 x i1>* %vp2, i64 128 - %4 = bitcast <256 x i1>* %3 to i8* - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %2, i8* %4) + %0 = getelementptr <256 x i1>, ptr %vpp, i64 128 + %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %0) + %2 = getelementptr <256 x i1>, ptr %vp2, i64 128 + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, ptr %2) ret void } -define void @test_ldst_7(<256 x i1>* %vpp, <256 x i1>* %vp2) { +define void @test_ldst_7(ptr %vpp, ptr %vp2) { ; FIXME: A prefixed load (plxvp) is expected here as the offset in this ; test case is a constant that fits within 34-bits. ; CHECK-LABEL: test_ldst_7: @@ -327,11 +315,9 @@ define void @test_ldst_7(<256 x i1>* %vpp, <256 x i1>* %vp2) { ; CHECK-BE-NOMMA-NEXT: pstxvp vsp34, 32799(r4), 0 ; CHECK-BE-NOMMA-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = getelementptr i8, i8* %0, i64 32799 - %2 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %1) - %3 = bitcast <256 x i1>* %vp2 to i8* - %4 = getelementptr i8, i8* %3, i64 32799 - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %2, i8* %4) + %0 = getelementptr i8, ptr %vpp, i64 32799 + %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %0) + %2 = getelementptr i8, ptr %vp2, i64 32799 + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, ptr %2) ret void } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-block-address.ll b/llvm/test/CodeGen/PowerPC/pcrel-block-address.ll index 76eea94..bf27562 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-block-address.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-block-address.ll @@ -8,11 +8,11 @@ define dso_local void @blockaddress() { ; CHECK: paddi r3, 0, .Ltmp0@PCREL, 1 ; CHECK: bl helper@notoc entry: - tail call void @helper(i8* blockaddress(@blockaddress, %label)) + tail call void @helper(ptr blockaddress(@blockaddress, %label)) br label %label label: ; preds = %entry ret void } -declare void @helper(i8*) +declare void @helper(ptr) diff --git a/llvm/test/CodeGen/PowerPC/pcrel-byte-loads.ll b/llvm/test/CodeGen/PowerPC/pcrel-byte-loads.ll index 3082c04..9d84d83 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-byte-loads.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-byte-loads.ll @@ -21,7 +21,7 @@ define i1 @i64_ExtLoad_i1() { ; CHECK-BE-NEXT: lbz r3, GlobLd1@toc@l(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i1, i1* getelementptr inbounds ([20 x i1], [20 x i1]* @GlobLd1, i64 0, i64 0), align 1 + %0 = load i1, ptr @GlobLd1, align 1 ret i1 %0 } @@ -37,7 +37,7 @@ define zeroext i1 @i64_ZextLoad_i1() { ; CHECK-BE-NEXT: lbz r3, GlobLd1@toc@l(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i1, i1* getelementptr inbounds ([20 x i1], [20 x i1]* @GlobLd1, i64 0, i64 0), align 1 + %0 = load i1, ptr @GlobLd1, align 1 ret i1 %0 } @@ -58,15 +58,15 @@ define void @i32_ZextLoad_i1() { ; CHECK-BE-NEXT: stb r3, GlobSt1@toc@l(r4) ; CHECK-BE-NEXT: blr entry: - %0 = load i1, i1* getelementptr inbounds ([20 x i1], [20 x i1]* @GlobLd1, i64 0, i64 0), align 1 - store i1 %0, i1* getelementptr inbounds ([20 x i1], [20 x i1]* @GlobSt1, i64 0, i64 0), align 1 + %0 = load i1, ptr @GlobLd1, align 1 + store i1 %0, ptr @GlobSt1, align 1 ret void } %1 = type { i64 } @Glob1 = external dso_local global %1, align 8 @Glob2 = external dso_local unnamed_addr constant [11 x i8], align 1 -declare i32 @Decl(%1*, i8*) local_unnamed_addr #0 +declare i32 @Decl(ptr, ptr) local_unnamed_addr #0 define dso_local i1 @i32_ExtLoad_i1() local_unnamed_addr #0 { ; CHECK-LE-LABEL: i32_ExtLoad_i1: @@ -113,9 +113,9 @@ define dso_local i1 @i32_ExtLoad_i1() local_unnamed_addr #0 { ; CHECK-BE-NEXT: mtlr r0 ; CHECK-BE-NEXT: blr bb: - %i = call signext i32 @Decl(%1* nonnull dereferenceable(32) @Glob1, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @Glob2, i64 0, i64 0)) #1 + %i = call signext i32 @Decl(ptr nonnull dereferenceable(32) @Glob1, ptr @Glob2) #1 %i1 = icmp eq i32 %i, 0 - %i2 = load i1, i1* getelementptr inbounds ([20 x i1], [20 x i1]* @GlobLd1, i64 0, i64 0), align 1 + %i2 = load i1, ptr @GlobLd1, align 1 %i3 = select i1 %i1, i1 false, i1 %i2 ret i1 %i3 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll index c65a202..541b2c4 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll @@ -56,7 +56,7 @@ define dso_local signext i32 @AsmClobberX2WithTOC(i32 signext %a, i32 signext %b entry: %add = add nsw i32 %b, %a tail call void asm sideeffect "li 2, 0", "~{r2}"() - %0 = load i32, i32* @global_int, align 4 + %0 = load i32, ptr @global_int, align 4 %add1 = add nsw i32 %add, %0 ret i32 %add1 } @@ -162,7 +162,7 @@ define dso_local signext i32 @UsesX2AsTOC() local_unnamed_addr { ; CHECK-LARGE: add r2, r2, r12 ; CHECK-ALL: # %bb.0: # %entry entry: - %0 = load i32, i32* @global_int, align 4 + %0 = load i32, ptr @global_int, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll index 013ae73..1e499fc 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-simple.ll @@ -20,7 +20,7 @@ ; CHECK-O-NEXT: R_PPC64_REL24_NOTOC callee define dso_local signext i32 @caller() local_unnamed_addr { entry: - %call = tail call signext i32 bitcast (i32 (...)* @callee to i32 ()*)() + %call = tail call signext i32 @callee() ret i32 %call } @@ -34,13 +34,13 @@ declare signext i32 @callee(...) local_unnamed_addr ; CHECK-O-LABEL: ExternalSymbol ; CHECK-O: b ; CHECK-O-NEXT: R_PPC64_REL24_NOTOC memcpy -define dso_local void @ExternalSymbol(i8* nocapture %out, i8* nocapture readonly %in, i64 %num) local_unnamed_addr { +define dso_local void @ExternalSymbol(ptr nocapture %out, ptr nocapture readonly %in, i64 %num) local_unnamed_addr { entry: - tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %out, i8* align 1 %in, i64 %num, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr align 1 %out, ptr align 1 %in, i64 %num, i1 false) ret void } -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) +declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) ; CHECK-S-LABEL: callerNoTail @@ -60,8 +60,8 @@ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noa ; CHECK-O: blr define dso_local signext i32 @callerNoTail() local_unnamed_addr { entry: - %call1 = tail call signext i32 bitcast (i32 (...)* @callee to i32 ()*)() - %call2 = tail call signext i32 bitcast (i32 (...)* @callee to i32 ()*)() + %call1 = tail call signext i32 @callee() + %call2 = tail call signext i32 @callee() %add = add i32 %call1, %call2 ret i32 %add } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll index 32b8a74..9fcbe87 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-call-linkage-with-calls.ll @@ -10,7 +10,7 @@ @globalVar = common dso_local local_unnamed_addr global i32 0, align 4 @externGlobalVar = external local_unnamed_addr global i32, align 4 -@indirectCall = common dso_local local_unnamed_addr global i32 (i32)* null, align 8 +@indirectCall = common dso_local local_unnamed_addr global ptr null, align 8 ; This funcion needs to remain as noinline. ; The compiler needs to know this function is local but must be forced to call @@ -49,7 +49,7 @@ define dso_local signext i32 @DirectCallLocal1(i32 signext %a, i32 signext %b) l entry: %add = add nsw i32 %b, %a %call = tail call signext i32 @localCall(i32 signext %add) - %0 = load i32, i32* @globalVar, align 4 + %0 = load i32, ptr @globalVar, align 4 %mul = mul nsw i32 %0, %call ret i32 %mul } @@ -79,7 +79,7 @@ define dso_local signext i32 @DirectCallLocal2(i32 signext %a, i32 signext %b) l entry: %add = add nsw i32 %b, %a %call = tail call signext i32 @localCall(i32 signext %add) - %0 = load i32, i32* @externGlobalVar, align 4 + %0 = load i32, ptr @externGlobalVar, align 4 %mul = mul nsw i32 %0, %call ret i32 %mul } @@ -132,7 +132,7 @@ define dso_local signext i32 @DirectCallExtern1(i32 signext %a, i32 signext %b) entry: %add = add nsw i32 %b, %a %call = tail call signext i32 @externCall(i32 signext %add) - %0 = load i32, i32* @globalVar, align 4 + %0 = load i32, ptr @globalVar, align 4 %mul = mul nsw i32 %0, %call ret i32 %mul } @@ -164,7 +164,7 @@ define dso_local signext i32 @DirectCallExtern2(i32 signext %a, i32 signext %b) entry: %add = add nsw i32 %b, %a %call = tail call signext i32 @externCall(i32 signext %add) - %0 = load i32, i32* @externGlobalVar, align 4 + %0 = load i32, ptr @externGlobalVar, align 4 %mul = mul nsw i32 %0, %call ret i32 %mul } @@ -205,7 +205,7 @@ define dso_local signext i32 @TailCallLocal1(i32 signext %a) local_unnamed_addr ; CHECK-S-NEXT: extsw r3, r3 ; CHECK-S-NEXT: b localCall@notoc entry: - %0 = load i32, i32* @globalVar, align 4 + %0 = load i32, ptr @globalVar, align 4 %add = add nsw i32 %0, %a %call = tail call signext i32 @localCall(i32 signext %add) ret i32 %call @@ -223,7 +223,7 @@ define dso_local signext i32 @TailCallLocal2(i32 signext %a) local_unnamed_addr ; CHECK-S-NEXT: extsw r3, r3 ; CHECK-S-NEXT: b localCall@notoc entry: - %0 = load i32, i32* @externGlobalVar, align 4 + %0 = load i32, ptr @externGlobalVar, align 4 %add = add nsw i32 %0, %a %call = tail call signext i32 @localCall(i32 signext %add) ret i32 %call @@ -249,7 +249,7 @@ define dso_local signext i32 @TailCallExtern1(i32 signext %a) local_unnamed_addr ; CHECK-S-NEXT: extsw r3, r3 ; CHECK-S-NEXT: b externCall@notoc entry: - %0 = load i32, i32* @globalVar, align 4 + %0 = load i32, ptr @globalVar, align 4 %add = add nsw i32 %0, %a %call = tail call signext i32 @externCall(i32 signext %add) ret i32 %call @@ -267,7 +267,7 @@ define dso_local signext i32 @TailCallExtern2(i32 signext %a) local_unnamed_addr ; CHECK-S-NEXT: extsw r3, r3 ; CHECK-S-NEXT: b externCall@notoc entry: - %0 = load i32, i32* @externGlobalVar, align 4 + %0 = load i32, ptr @externGlobalVar, align 4 %add = add nsw i32 %0, %a %call = tail call signext i32 @externCall(i32 signext %add) ret i32 %call @@ -306,9 +306,9 @@ define dso_local signext i32 @IndirectCall1(i32 signext %a, i32 signext %b) loca ; CHECK-S-NEXT: blr entry: %add = add nsw i32 %b, %a - %0 = load i32 (i32)*, i32 (i32)** @indirectCall, align 8 + %0 = load ptr, ptr @indirectCall, align 8 %call = tail call signext i32 %0(i32 signext %add) - %1 = load i32, i32* @globalVar, align 4 + %1 = load i32, ptr @globalVar, align 4 %mul = mul nsw i32 %1, %call ret i32 %mul } @@ -338,14 +338,14 @@ define dso_local signext i32 @IndirectCall2(i32 signext %a, i32 signext %b) loca ; CHECK-S-NEXT: blr entry: %add = add nsw i32 %b, %a - %0 = load i32 (i32)*, i32 (i32)** @indirectCall, align 8 + %0 = load ptr, ptr @indirectCall, align 8 %call = tail call signext i32 %0(i32 signext %add) - %1 = load i32, i32* @externGlobalVar, align 4 + %1 = load i32, ptr @externGlobalVar, align 4 %mul = mul nsw i32 %1, %call ret i32 %mul } -define dso_local signext i32 @IndirectCall3(i32 signext %a, i32 signext %b, i32 (i32)* nocapture %call_param) local_unnamed_addr { +define dso_local signext i32 @IndirectCall3(i32 signext %a, i32 signext %b, ptr nocapture %call_param) local_unnamed_addr { ; CHECK-ALL-LABEL: IndirectCall3: ; CHECK-S: # %bb.0: # %entry ; CHECK-S-NEXT: mflr r0 @@ -368,12 +368,12 @@ define dso_local signext i32 @IndirectCall3(i32 signext %a, i32 signext %b, i32 entry: %add = add nsw i32 %b, %a %call = tail call signext i32 %call_param(i32 signext %add) - %0 = load i32, i32* @globalVar, align 4 + %0 = load i32, ptr @globalVar, align 4 %mul = mul nsw i32 %0, %call ret i32 %mul } -define dso_local signext i32 @IndirectCallNoGlobal(i32 signext %a, i32 signext %b, i32 (i32)* nocapture %call_param) local_unnamed_addr { +define dso_local signext i32 @IndirectCallNoGlobal(i32 signext %a, i32 signext %b, ptr nocapture %call_param) local_unnamed_addr { ; CHECK-ALL-LABEL: IndirectCallNoGlobal: ; CHECK-S: # %bb.0: # %entry ; CHECK-S-NEXT: mflr r0 @@ -400,7 +400,7 @@ entry: ret i32 %add } -define dso_local signext i32 @IndirectCallOnly(i32 signext %a, i32 (i32)* nocapture %call_param) local_unnamed_addr { +define dso_local signext i32 @IndirectCallOnly(i32 signext %a, ptr nocapture %call_param) local_unnamed_addr { ; CHECK-ALL-LABEL: IndirectCallOnly: ; CHECK-S: # %bb.0: # %entry ; CHECK-S-NEXT: mtctr r4 diff --git a/llvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll b/llvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll index 7ade41c..fe89b19 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll @@ -14,10 +14,10 @@ @valInt = external global i32, align 4 @valUnsigned = external local_unnamed_addr global i32, align 4 @valLong = external local_unnamed_addr global i64, align 8 -@ptr = external local_unnamed_addr global i32*, align 8 +@ptr = external local_unnamed_addr global ptr, align 8 @array = external local_unnamed_addr global [10 x i32], align 4 @structure = external local_unnamed_addr global %struct.Struct, align 4 -@ptrfunc = external local_unnamed_addr global void (...)*, align 8 +@ptrfunc = external local_unnamed_addr global ptr, align 8 define dso_local signext i32 @ReadGlobalVarChar() local_unnamed_addr { ; LE-LABEL: ReadGlobalVarChar: @@ -36,7 +36,7 @@ define dso_local signext i32 @ReadGlobalVarChar() local_unnamed_addr { ; BE-NEXT: lbz r3, 0(r3) ; BE-NEXT: blr entry: - %0 = load i8, i8* @valChar, align 1 + %0 = load i8, ptr @valChar, align 1 %conv = zext i8 %0 to i32 ret i32 %conv } @@ -56,7 +56,7 @@ define dso_local void @WriteGlobalVarChar() local_unnamed_addr { ; BE-NEXT: stb r4, 0(r3) ; BE-NEXT: blr entry: - store i8 3, i8* @valChar, align 1 + store i8 3, ptr @valChar, align 1 ret void } @@ -77,7 +77,7 @@ define dso_local signext i32 @ReadGlobalVarShort() local_unnamed_addr { ; BE-NEXT: lha r3, 0(r3) ; BE-NEXT: blr entry: - %0 = load i16, i16* @valShort, align 2 + %0 = load i16, ptr @valShort, align 2 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -97,7 +97,7 @@ define dso_local void @WriteGlobalVarShort() local_unnamed_addr { ; BE-NEXT: sth r4, 0(r3) ; BE-NEXT: blr entry: - store i16 3, i16* @valShort, align 2 + store i16 3, ptr @valShort, align 2 ret void } @@ -118,7 +118,7 @@ define dso_local signext i32 @ReadGlobalVarInt() local_unnamed_addr { ; BE-NEXT: lwa r3, 0(r3) ; BE-NEXT: blr entry: - %0 = load i32, i32* @valInt, align 4 + %0 = load i32, ptr @valInt, align 4 ret i32 %0 } @@ -137,7 +137,7 @@ define dso_local void @WriteGlobalVarInt() local_unnamed_addr { ; BE-NEXT: stw r4, 0(r3) ; BE-NEXT: blr entry: - store i32 33, i32* @valInt, align 4 + store i32 33, ptr @valInt, align 4 ret void } @@ -158,7 +158,7 @@ define dso_local signext i32 @ReadGlobalVarUnsigned() local_unnamed_addr { ; BE-NEXT: lwa r3, 0(r3) ; BE-NEXT: blr entry: - %0 = load i32, i32* @valUnsigned, align 4 + %0 = load i32, ptr @valUnsigned, align 4 ret i32 %0 } @@ -177,7 +177,7 @@ define dso_local void @WriteGlobalVarUnsigned() local_unnamed_addr { ; BE-NEXT: stw r4, 0(r3) ; BE-NEXT: blr entry: - store i32 33, i32* @valUnsigned, align 4 + store i32 33, ptr @valUnsigned, align 4 ret void } @@ -198,7 +198,7 @@ define dso_local signext i32 @ReadGlobalVarLong() local_unnamed_addr { ; BE-NEXT: lwa r3, 4(r3) ; BE-NEXT: blr entry: - %0 = load i64, i64* @valLong, align 8 + %0 = load i64, ptr @valLong, align 8 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -218,11 +218,11 @@ define dso_local void @WriteGlobalVarLong() local_unnamed_addr { ; BE-NEXT: std r4, 0(r3) ; BE-NEXT: blr entry: - store i64 3333, i64* @valLong, align 8 + store i64 3333, ptr @valLong, align 8 ret void } -define dso_local i32* @ReadGlobalPtr() local_unnamed_addr { +define dso_local ptr @ReadGlobalPtr() local_unnamed_addr { ; LE-LABEL: ReadGlobalPtr: ; LE: # %bb.0: # %entry ; LE-NEXT: pld r3, ptr@got@pcrel(0), 1 @@ -239,8 +239,8 @@ define dso_local i32* @ReadGlobalPtr() local_unnamed_addr { ; BE-NEXT: ld r3, 0(r3) ; BE-NEXT: blr entry: - %0 = load i32*, i32** @ptr, align 8 - ret i32* %0 + %0 = load ptr, ptr @ptr, align 8 + ret ptr %0 } define dso_local void @WriteGlobalPtr() local_unnamed_addr { @@ -264,12 +264,12 @@ define dso_local void @WriteGlobalPtr() local_unnamed_addr { ; BE-NEXT: stw r4, 0(r3) ; BE-NEXT: blr entry: - %0 = load i32*, i32** @ptr, align 8 - store i32 3, i32* %0, align 4 + %0 = load ptr, ptr @ptr, align 8 + store i32 3, ptr %0, align 4 ret void } -define dso_local nonnull i32* @GlobalVarAddr() local_unnamed_addr { +define dso_local nonnull ptr @GlobalVarAddr() local_unnamed_addr { ; LE-LABEL: GlobalVarAddr: ; LE: # %bb.0: # %entry ; LE-NEXT: pld r3, valInt@got@pcrel(0), 1 @@ -280,7 +280,7 @@ define dso_local nonnull i32* @GlobalVarAddr() local_unnamed_addr { ; BE-NEXT: pld r3, valInt@got@pcrel(0), 1 ; BE-NEXT: blr entry: - ret i32* @valInt + ret ptr @valInt } define dso_local signext i32 @ReadGlobalArray() local_unnamed_addr { @@ -300,7 +300,7 @@ define dso_local signext i32 @ReadGlobalArray() local_unnamed_addr { ; BE-NEXT: lwa r3, 12(r3) ; BE-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @array, i64 0, i64 3), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @array, i64 0, i64 3), align 4 ret i32 %0 } @@ -319,7 +319,7 @@ define dso_local void @WriteGlobalArray() local_unnamed_addr { ; BE-NEXT: stw r4, 12(r3) ; BE-NEXT: blr entry: - store i32 5, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @array, i64 0, i64 3), align 4 + store i32 5, ptr getelementptr inbounds ([10 x i32], ptr @array, i64 0, i64 3), align 4 ret void } @@ -340,7 +340,7 @@ define dso_local signext i32 @ReadGlobalStruct() local_unnamed_addr { ; BE-NEXT: lwa r3, 4(r3) ; BE-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds (%struct.Struct, %struct.Struct* @structure, i64 0, i32 2), align 4 + %0 = load i32, ptr getelementptr inbounds (%struct.Struct, ptr @structure, i64 0, i32 2), align 4 ret i32 %0 } @@ -359,7 +359,7 @@ define dso_local void @WriteGlobalStruct() local_unnamed_addr { ; BE-NEXT: stw r4, 4(r3) ; BE-NEXT: blr entry: - store i32 3, i32* getelementptr inbounds (%struct.Struct, %struct.Struct* @structure, i64 0, i32 2), align 4 + store i32 3, ptr getelementptr inbounds (%struct.Struct, ptr @structure, i64 0, i32 2), align 4 ret void } @@ -386,7 +386,7 @@ define dso_local void @ReadFuncPtr() local_unnamed_addr { ; BE-NEXT: bctr ; BE-NEXT: #TC_RETURNr8 ctr 0 entry: - %0 = load void ()*, void ()** bitcast (void (...)** @ptrfunc to void ()**), align 8 + %0 = load ptr, ptr @ptrfunc, align 8 tail call void %0() ret void } @@ -406,7 +406,7 @@ define dso_local void @WriteFuncPtr() local_unnamed_addr { ; BE-NEXT: std r4, 0(r3) ; BE-NEXT: blr entry: - store void (...)* @function, void (...)** @ptrfunc, align 8 + store ptr @function, ptr @ptrfunc, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-indirect-call.ll b/llvm/test/CodeGen/PowerPC/pcrel-indirect-call.ll index 88f25db..b427772 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-indirect-call.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-indirect-call.ll @@ -9,7 +9,7 @@ ; is passed as a parameter in this test. ; Function Attrs: noinline -define dso_local void @IndirectCallExternFuncPtr(void ()* nocapture %ptrfunc) { +define dso_local void @IndirectCallExternFuncPtr(ptr nocapture %ptrfunc) { ; CHECK-LABEL: IndirectCallExternFuncPtr: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtctr r3 @@ -23,7 +23,7 @@ entry: define dso_local void @FuncPtrPassAsParam() { entry: - tail call void @IndirectCallExternFuncPtr(void ()* nonnull @Function) + tail call void @IndirectCallExternFuncPtr(ptr nonnull @Function) ret void } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-linkeropt-option.ll b/llvm/test/CodeGen/PowerPC/pcrel-linkeropt-option.ll index 564bd29..c1d3d4e 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-linkeropt-option.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-linkeropt-option.ll @@ -34,6 +34,6 @@ define dso_local i8 @Read8() local_unnamed_addr { ; OFF-NEXT: lbz r3, 0(r3) ; OFF-NEXT: blr entry: - %0 = load i8, i8* @input8, align 1 + %0 = load i8, ptr @input8, align 1 ret i8 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-linkeropt.ll b/llvm/test/CodeGen/PowerPC/pcrel-linkeropt.ll index aefa07e..27140e5 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-linkeropt.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-linkeropt.ll @@ -29,10 +29,10 @@ @outputVi64 = external local_unnamed_addr global <2 x i64>, align 16 @ArrayIn = external global [10 x i32], align 4 @ArrayOut = external local_unnamed_addr global [10 x i32], align 4 -@IntPtrIn = external local_unnamed_addr global i32*, align 8 -@IntPtrOut = external local_unnamed_addr global i32*, align 8 -@FuncPtrIn = external local_unnamed_addr global void (...)*, align 8 -@FuncPtrOut = external local_unnamed_addr global void (...)*, align 8 +@IntPtrIn = external local_unnamed_addr global ptr, align 8 +@IntPtrOut = external local_unnamed_addr global ptr, align 8 +@FuncPtrIn = external local_unnamed_addr global ptr, align 8 +@FuncPtrOut = external local_unnamed_addr global ptr, align 8 define dso_local void @ReadWrite8() local_unnamed_addr #0 { ; In this test the stb r3, 0(r4) cannot be optimized because it @@ -48,8 +48,8 @@ define dso_local void @ReadWrite8() local_unnamed_addr #0 { ; CHECK-NEXT: stb r3, 0(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* @input8, align 1 - store i8 %0, i8* @output8, align 1 + %0 = load i8, ptr @input8, align 1 + store i8 %0, ptr @output8, align 1 ret void } @@ -67,8 +67,8 @@ define dso_local void @ReadWrite16() local_unnamed_addr #0 { ; CHECK-NEXT: sth r3, 0(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* @input16, align 2 - store i16 %0, i16* @output16, align 2 + %0 = load i16, ptr @input16, align 2 + store i16 %0, ptr @output16, align 2 ret void } @@ -83,8 +83,8 @@ define dso_local void @ReadWrite32() local_unnamed_addr #0 { ; CHECK-NEXT: stw r3, 0(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* @input32, align 4 - store i32 %0, i32* @output32, align 4 + %0 = load i32, ptr @input32, align 4 + store i32 %0, ptr @output32, align 4 ret void } @@ -99,8 +99,8 @@ define dso_local void @ReadWrite64() local_unnamed_addr #0 { ; CHECK-NEXT: std r3, 0(r4) ; CHECK-NEXT: blr entry: - %0 = load i64, i64* @input64, align 8 - store i64 %0, i64* @output64, align 8 + %0 = load i64, ptr @input64, align 8 + store i64 %0, ptr @output64, align 8 ret void } @@ -119,8 +119,8 @@ define dso_local void @ReadWrite128() local_unnamed_addr #0 { ; CHECK-NEXT: stxv vs0, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load i128, i128* @input128, align 16 - store i128 %0, i128* @output128, align 16 + %0 = load i128, ptr @input128, align 16 + store i128 %0, ptr @output128, align 16 ret void } @@ -137,9 +137,9 @@ define dso_local void @ReadWritef32() local_unnamed_addr #0 { ; CHECK-NEXT: stfs f0, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load float, float* @inputf32, align 4 + %0 = load float, ptr @inputf32, align 4 %add = fadd float %0, 0x400851EB80000000 - store float %add, float* @outputf32, align 4 + store float %add, ptr @outputf32, align 4 ret void } @@ -157,9 +157,9 @@ define dso_local void @ReadWritef64() local_unnamed_addr #0 { ; CHECK-NEXT: stfd f0, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load double, double* @inputf64, align 8 + %0 = load double, ptr @inputf64, align 8 %add = fadd double %0, 6.800000e+00 - store double %add, double* @outputf64, align 8 + store double %add, ptr @outputf64, align 8 ret void } @@ -178,9 +178,9 @@ define dso_local void @ReadWriteVi32() local_unnamed_addr #0 { ; CHECK-NEXT: stxv v2, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load <4 x i32>, <4 x i32>* @inputVi32, align 16 + %0 = load <4 x i32>, ptr @inputVi32, align 16 %vecins = insertelement <4 x i32> %0, i32 45, i32 1 - store <4 x i32> %vecins, <4 x i32>* @outputVi32, align 16 + store <4 x i32> %vecins, ptr @outputVi32, align 16 ret void } @@ -197,8 +197,8 @@ define dso_local void @ReadWriteVi64() local_unnamed_addr #0 { ; CHECK-NEXT: stxv vs0, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load <2 x i64>, <2 x i64>* @inputVi64, align 16 - store <2 x i64> %0, <2 x i64>* @outputVi64, align 16 + %0 = load <2 x i64>, ptr @inputVi64, align 16 + store <2 x i64> %0, ptr @outputVi64, align 16 ret void } @@ -214,9 +214,9 @@ define dso_local void @ReadWriteArray() local_unnamed_addr #0 { ; CHECK-NEXT: stw r3, 8(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @ArrayIn, i64 0, i64 7), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @ArrayIn, i64 0, i64 7), align 4 %add = add nsw i32 %0, 42 - store i32 %add, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @ArrayOut, i64 0, i64 2), align 4 + store i32 %add, ptr getelementptr inbounds ([10 x i32], ptr @ArrayOut, i64 0, i64 2), align 4 ret void } @@ -229,9 +229,9 @@ define dso_local void @ReadWriteSameArray() local_unnamed_addr #0 { ; CHECK-NEXT: stw r4, 24(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @ArrayIn, i64 0, i64 3), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @ArrayIn, i64 0, i64 3), align 4 %add = add nsw i32 %0, 8 - store i32 %add, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @ArrayIn, i64 0, i64 6), align 4 + store i32 %add, ptr getelementptr inbounds ([10 x i32], ptr @ArrayIn, i64 0, i64 6), align 4 ret void } @@ -252,15 +252,15 @@ define dso_local void @ReadWriteIntPtr() local_unnamed_addr #0 { ; CHECK-NEXT: stw r3, 136(r4) ; CHECK-NEXT: blr entry: - %0 = load i32*, i32** @IntPtrIn, align 8 - %arrayidx = getelementptr inbounds i32, i32* %0, i64 54 - %1 = load i32, i32* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32, i32* %0, i64 12 - %2 = load i32, i32* %arrayidx1, align 4 + %0 = load ptr, ptr @IntPtrIn, align 8 + %arrayidx = getelementptr inbounds i32, ptr %0, i64 54 + %1 = load i32, ptr %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds i32, ptr %0, i64 12 + %2 = load i32, ptr %arrayidx1, align 4 %add = add nsw i32 %2, %1 - %3 = load i32*, i32** @IntPtrOut, align 8 - %arrayidx2 = getelementptr inbounds i32, i32* %3, i64 34 - store i32 %add, i32* %arrayidx2, align 4 + %3 = load ptr, ptr @IntPtrOut, align 8 + %arrayidx2 = getelementptr inbounds i32, ptr %3, i64 34 + store i32 %add, ptr %arrayidx2, align 4 ret void } @@ -275,8 +275,8 @@ define dso_local void @ReadWriteFuncPtr() local_unnamed_addr #0 { ; CHECK-NEXT: std r3, 0(r4) ; CHECK-NEXT: blr entry: - %0 = load i64, i64* bitcast (void (...)** @FuncPtrIn to i64*), align 8 - store i64 %0, i64* bitcast (void (...)** @FuncPtrOut to i64*), align 8 + %0 = load i64, ptr @FuncPtrIn, align 8 + store i64 %0, ptr @FuncPtrOut, align 8 ret void } @@ -288,7 +288,7 @@ define dso_local void @FuncPtrCopy() local_unnamed_addr #0 { ; CHECK-NEXT: std r4, 0(r3) ; CHECK-NEXT: blr entry: - store void (...)* @Callee, void (...)** @FuncPtrOut, align 8 + store ptr @Callee, ptr @FuncPtrOut, align 8 ret void } @@ -305,7 +305,7 @@ define dso_local void @FuncPtrCall() local_unnamed_addr #0 { ; CHECK-NEXT: bctr ; CHECK-NEXT: #TC_RETURNr8 ctr 0 entry: - %0 = load void ()*, void ()** bitcast (void (...)** @FuncPtrIn to void ()**), align 8 + %0 = load ptr, ptr @FuncPtrIn, align 8 tail call void %0() ret void } @@ -319,7 +319,7 @@ define dso_local signext i32 @ReadVecElement() local_unnamed_addr #0 { ; CHECK-NEXT: lwa r3, 4(r3) ; CHECK-NEXT: blr entry: - %0 = load <4 x i32>, <4 x i32>* @inputVi32, align 16 + %0 = load <4 x i32>, ptr @inputVi32, align 16 %vecext = extractelement <4 x i32> %0, i32 1 ret i32 %vecext } @@ -348,14 +348,14 @@ define dso_local signext i32 @VecMultiUse() local_unnamed_addr #0 { ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %0 = load <4 x i32>, <4 x i32>* @inputVi32, align 16 - tail call void bitcast (void (...)* @Callee to void ()*)() - %1 = load <4 x i32>, <4 x i32>* @inputVi32, align 16 + %0 = load <4 x i32>, ptr @inputVi32, align 16 + tail call void @Callee() + %1 = load <4 x i32>, ptr @inputVi32, align 16 %2 = extractelement <4 x i32> %1, i32 2 %3 = extractelement <4 x i32> %0, i64 1 %4 = add nsw i32 %2, %3 - tail call void bitcast (void (...)* @Callee to void ()*)() - %5 = load <4 x i32>, <4 x i32>* @inputVi32, align 16 + tail call void @Callee() + %5 = load <4 x i32>, ptr @inputVi32, align 16 %vecext2 = extractelement <4 x i32> %5, i32 0 %add3 = add nsw i32 %4, %vecext2 ret i32 %add3 @@ -381,22 +381,22 @@ define dso_local signext i32 @UseAddr(i32 signext %a) local_unnamed_addr #0 { ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @ArrayIn, i64 0, i64 4), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @ArrayIn, i64 0, i64 4), align 4 %add = add nsw i32 %0, %a - %call = tail call signext i32 @getAddr(i32* getelementptr inbounds ([10 x i32], [10 x i32]* @ArrayIn, i64 0, i64 0)) + %call = tail call signext i32 @getAddr(ptr @ArrayIn) %add1 = add nsw i32 %add, %call ret i32 %add1 } -declare signext i32 @getAddr(i32*) local_unnamed_addr +declare signext i32 @getAddr(ptr) local_unnamed_addr -define dso_local nonnull i32* @AddrTaken32() local_unnamed_addr #0 { +define dso_local nonnull ptr @AddrTaken32() local_unnamed_addr #0 { ; CHECK-LABEL: AddrTaken32: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: pld r3, input32@got@pcrel(0), 1 ; CHECK-NEXT: blr entry: - ret i32* @input32 + ret ptr @input32 } attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-local-caller-toc.ll b/llvm/test/CodeGen/PowerPC/pcrel-local-caller-toc.ll index 2871e07..f19057d 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-local-caller-toc.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-local-caller-toc.ll @@ -57,11 +57,11 @@ define dso_local void @caller(i32 signext %a) local_unnamed_addr #2 { ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* @global, align 4 + %0 = load i32, ptr @global, align 4 %add = add nsw i32 %0, %a %call = tail call signext i32 @callee(i32 signext %add) %mul = mul nsw i32 %call, %call - store i32 %mul, i32* @global, align 4 + store i32 %mul, ptr @global, align 4 ret void } @@ -83,7 +83,7 @@ define dso_local signext i32 @tail_caller(i32 signext %a) local_unnamed_addr #2 ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* @global, align 4 + %0 = load i32, ptr @global, align 4 %add = add nsw i32 %0, %a %call = tail call signext i32 @callee(i32 signext %add) ret i32 %call diff --git a/llvm/test/CodeGen/PowerPC/pcrel-relocation-plus-offset.ll b/llvm/test/CodeGen/PowerPC/pcrel-relocation-plus-offset.ll index 98ea41f..0aa28da 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-relocation-plus-offset.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-relocation-plus-offset.ll @@ -28,7 +28,7 @@ define dso_local signext i32 @getElementLocal7() local_unnamed_addr { ; CHECK-O-NEXT: R_PPC64_PCREL34 array2+0x1c ; CHECK-O-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @array2, i64 0, i64 7), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @array2, i64 0, i64 7), align 4 ret i32 %0 } @@ -42,7 +42,7 @@ define dso_local signext i32 @getElementLocalNegative() local_unnamed_addr { ; CHECK-O-NEXT: R_PPC64_PCREL34 array2-0x8 ; CHECK-O-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @array2, i64 0, i64 -2), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @array2, i64 0, i64 -2), align 4 ret i32 %0 } @@ -61,7 +61,7 @@ define dso_local signext i32 @getElementExtern4() local_unnamed_addr { ; CHECK-O: lwa 3, 16(3) ; CHECK-O-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @array1, i64 0, i64 4), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @array1, i64 0, i64 4), align 4 ret i32 %0 } @@ -80,7 +80,7 @@ define dso_local signext i32 @getElementExternNegative() local_unnamed_addr { ; CHECK-O: lwa 3, -4(3) ; CHECK-O-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([10 x i32], [10 x i32]* @array1, i64 0, i64 -1), align 4 + %0 = load i32, ptr getelementptr inbounds ([10 x i32], ptr @array1, i64 0, i64 -1), align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll b/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll index 1982332..319c346 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-tail-calls.ll @@ -12,8 +12,8 @@ ; the past as we no longer need to restore the TOC pointer into R2 after ; most calls. -@Func = external local_unnamed_addr global i32 (...)*, align 8 -@FuncLocal = common dso_local local_unnamed_addr global i32 (...)* null, align 8 +@Func = external local_unnamed_addr global ptr, align 8 +@FuncLocal = common dso_local local_unnamed_addr global ptr null, align 8 ; No calls in this function but we assign the function pointers. define dso_local void @AssignFuncPtr() local_unnamed_addr { @@ -25,8 +25,8 @@ define dso_local void @AssignFuncPtr() local_unnamed_addr { ; CHECK-NEXT: pstd r4, FuncLocal@PCREL(0), 1 ; CHECK-NEXT: blr entry: - store i32 (...)* @Function, i32 (...)** @Func, align 8 - store i32 (...)* @Function, i32 (...)** @FuncLocal, align 8 + store ptr @Function, ptr @Func, align 8 + store ptr @Function, ptr @FuncLocal, align 8 ret void } @@ -40,7 +40,7 @@ define dso_local void @TailCallLocalFuncPtr() local_unnamed_addr { ; CHECK-NEXT: bctr ; CHECK-NEXT: #TC_RETURNr8 ctr 0 entry: - %0 = load i32 ()*, i32 ()** bitcast (i32 (...)** @FuncLocal to i32 ()**), align 8 + %0 = load ptr, ptr @FuncLocal, align 8 %call = tail call signext i32 %0() ret void } @@ -56,12 +56,12 @@ define dso_local void @TailCallExtrnFuncPtr() local_unnamed_addr { ; CHECK-NEXT: bctr ; CHECK-NEXT: #TC_RETURNr8 ctr 0 entry: - %0 = load i32 ()*, i32 ()** bitcast (i32 (...)** @Func to i32 ()**), align 8 + %0 = load ptr, ptr @Func, align 8 %call = tail call signext i32 %0() ret void } -define dso_local signext i32 @TailCallParamFuncPtr(i32 (...)* nocapture %passedfunc) local_unnamed_addr { +define dso_local signext i32 @TailCallParamFuncPtr(ptr nocapture %passedfunc) local_unnamed_addr { ; CHECK-LABEL: TailCallParamFuncPtr: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtctr r3 @@ -69,12 +69,11 @@ define dso_local signext i32 @TailCallParamFuncPtr(i32 (...)* nocapture %passedf ; CHECK-NEXT: bctr ; CHECK-NEXT: #TC_RETURNr8 ctr 0 entry: - %callee.knr.cast = bitcast i32 (...)* %passedfunc to i32 ()* - %call = tail call signext i32 %callee.knr.cast() + %call = tail call signext i32 %passedfunc() ret i32 %call } -define dso_local signext i32 @NoTailIndirectCall(i32 (...)* nocapture %passedfunc, i32 signext %a) local_unnamed_addr { +define dso_local signext i32 @NoTailIndirectCall(ptr nocapture %passedfunc, i32 signext %a) local_unnamed_addr { ; CHECK-LABEL: NoTailIndirectCall: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mflr r0 @@ -96,8 +95,7 @@ define dso_local signext i32 @NoTailIndirectCall(i32 (...)* nocapture %passedfun ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %callee.knr.cast = bitcast i32 (...)* %passedfunc to i32 ()* - %call = tail call signext i32 %callee.knr.cast() + %call = tail call signext i32 %passedfunc() %add = add nsw i32 %call, %a ret i32 %add } @@ -108,7 +106,7 @@ define dso_local signext i32 @TailCallDirect() local_unnamed_addr { ; CHECK-NEXT: b Function@notoc ; CHECK-NEXT: #TC_RETURNd8 Function@notoc 0 entry: - %call = tail call signext i32 bitcast (i32 (...)* @Function to i32 ()*)() + %call = tail call signext i32 @Function() ret i32 %call } @@ -132,7 +130,7 @@ define dso_local signext i32 @NoTailCallDirect(i32 signext %a) local_unnamed_add ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %call = tail call signext i32 bitcast (i32 (...)* @Function to i32 ()*)() + %call = tail call signext i32 @Function() %add = add nsw i32 %call, %a ret i32 %add } @@ -181,7 +179,7 @@ define dso_local signext i32 @TailCallAbs() local_unnamed_addr { ; CHECK-NEXT: bctr ; CHECK-NEXT: #TC_RETURNr8 ctr 0 entry: - %call = tail call signext i32 inttoptr (i64 400 to i32 ()*)() + %call = tail call signext i32 inttoptr (i64 400 to ptr)() ret i32 %call } @@ -208,7 +206,7 @@ define dso_local signext i32 @NoTailCallAbs(i32 signext %a) local_unnamed_addr { ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %call = tail call signext i32 inttoptr (i64 400 to i32 ()*)() + %call = tail call signext i32 inttoptr (i64 400 to ptr)() %add = add nsw i32 %call, %a ret i32 %add } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tls-general-dynamic.ll b/llvm/test/CodeGen/PowerPC/pcrel-tls-general-dynamic.ll index 8a69a18..8d06c81 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-tls-general-dynamic.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-tls-general-dynamic.ll @@ -10,7 +10,7 @@ @x = external thread_local global i32, align 4 -define nonnull i32* @GeneralDynamicAddressLoad() { +define nonnull ptr @GeneralDynamicAddressLoad() { ; CHECK-S-LABEL: GeneralDynamicAddressLoad: ; CHECK-S: paddi r3, 0, x@got@tlsgd@pcrel, 1 ; CHECK-S-NEXT: bl __tls_get_addr@notoc(x@tlsgd) @@ -25,7 +25,7 @@ define nonnull i32* @GeneralDynamicAddressLoad() { ; CHECK-O-NEXT: 0000000000000014: R_PPC64_TLSGD x ; CHECK-O-NEXT: 0000000000000014: R_PPC64_REL24_NOTOC __tls_get_addr entry: - ret i32* @x + ret ptr @x } define i32 @GeneralDynamicValueLoad() { @@ -48,6 +48,6 @@ define i32 @GeneralDynamicValueLoad() { ; CHECK-SYM-LABEL: Symbol table '.symtab' contains 7 entries ; CHECK-SYM: 0000000000000000 0 TLS GLOBAL DEFAULT UND x entry: - %0 = load i32, i32* @x, align 4 + %0 = load i32, ptr @x, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tls-initial-exec.ll b/llvm/test/CodeGen/PowerPC/pcrel-tls-initial-exec.ll index e9dabb2..da58ebb 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-tls-initial-exec.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-tls-initial-exec.ll @@ -13,7 +13,7 @@ @x = external thread_local global i32, align 4 -define i32* @InitialExecAddressLoad() { +define ptr @InitialExecAddressLoad() { ; CHECK-S-LABEL: InitialExecAddressLoad: ; CHECK-S: # %bb.0: # %entry ; CHECK-S-NEXT: pld r3, x@got@tprel@pcrel(0), 1 @@ -26,7 +26,7 @@ define i32* @InitialExecAddressLoad() { ; CHECK-O-NEXT: 0000000000000009: R_PPC64_TLS x ; CHECK-O-NEXT: 20 00 80 4e blr entry: - ret i32* @x + ret ptr @x } define i32 @InitialExecValueLoad() { @@ -45,6 +45,6 @@ define i32 @InitialExecValueLoad() { ; CHECK-SYM-LABEL: Symbol table '.symtab' contains 6 entries ; CHECK-SYM: 0000000000000000 0 TLS GLOBAL DEFAULT UND x entry: - %0 = load i32, i32* @x, align 4 + %0 = load i32, ptr @x, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll b/llvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll index 5dae2e8..0b0fdbc 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-tls-local-dynamic.ll @@ -9,7 +9,7 @@ @x = hidden thread_local global i32 0, align 4 -define nonnull i32* @LocalDynamicAddressLoad() { +define nonnull ptr @LocalDynamicAddressLoad() { ; CHECK-S-LABEL: LocalDynamicAddressLoad: ; CHECK-S: paddi r3, 0, x@got@tlsld@pcrel, 1 ; CHECK-S-NEXT: bl __tls_get_addr@notoc(x@tlsld) @@ -27,7 +27,7 @@ define nonnull i32* @LocalDynamicAddressLoad() { ; CHECK-O-NEXT: 18: paddi 3, 3, 0, 0 ; CHECK-O-NEXT: 0000000000000018: R_PPC64_DTPREL34 x entry: - ret i32* @x + ret ptr @x } define i32 @LocalDynamicValueLoad() { @@ -50,6 +50,6 @@ define i32 @LocalDynamicValueLoad() { ; CHECK-O-NEXT: 0000000000000058: R_PPC64_DTPREL34 x ; CHECK-O-NEXT: 60: lwz 3, 0(3) entry: - %0 = load i32, i32* @x, align 4 + %0 = load i32, ptr @x, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll b/llvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll index 59aa9b9..77d18e1 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll @@ -11,7 +11,7 @@ @x = dso_local thread_local global i32 0, align 4 @y = dso_local thread_local global [5 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0], align 4 -define dso_local i32* @LocalExecAddressLoad() { +define dso_local ptr @LocalExecAddressLoad() { ; CHECK-S-LABEL: LocalExecAddressLoad: ; CHECK-S: # %bb.0: # %entry ; CHECK-S-NEXT: paddi r3, r13, x@TPREL, 0 @@ -21,7 +21,7 @@ define dso_local i32* @LocalExecAddressLoad() { ; CHECK-O-NEXT: 0000000000000000: R_PPC64_TPREL34 x ; CHECK-O-NEXT: 8: blr entry: - ret i32* @x + ret ptr @x } define dso_local i32 @LocalExecValueLoad() { @@ -36,7 +36,7 @@ define dso_local i32 @LocalExecValueLoad() { ; CHECK-O-NEXT: 28: lwz 3, 0(3) ; CHECK-O-NEXT: 2c: blr entry: - %0 = load i32, i32* @x, align 4 + %0 = load i32, ptr @x, align 4 ret i32 %0 } @@ -52,7 +52,7 @@ define dso_local void @LocalExecValueStore(i32 %in) { ; CHECK-O-NEXT: 48: stw 3, 0(4) ; CHECK-O-NEXT: 4c: blr entry: - store i32 %in, i32* @x, align 4 + store i32 %in, ptr @x, align 4 ret void } @@ -68,12 +68,12 @@ define dso_local i32 @LocalExecValueLoadOffset() { ; CHECK-O-NEXT: 68: lwz 3, 12(3) ; CHECK-O-NEXT: 6c: blr entry: - %0 = load i32, i32* getelementptr inbounds ([5 x i32], [5 x i32]* @y, i64 0, i64 3), align 4 + %0 = load i32, ptr getelementptr inbounds ([5 x i32], ptr @y, i64 0, i64 3), align 4 ret i32 %0 } -define dso_local i32* @LocalExecValueLoadOffsetNoLoad() { +define dso_local ptr @LocalExecValueLoadOffsetNoLoad() { ; CHECK-S-LABEL: LocalExecValueLoadOffsetNoLoad: ; CHECK-S: # %bb.0: # %entry ; CHECK-S-NEXT: paddi r3, r13, y@TPREL, 0 @@ -85,5 +85,5 @@ define dso_local i32* @LocalExecValueLoadOffsetNoLoad() { ; CHECK-O-NEXT: 88: addi 3, 3, 12 ; CHECK-O-NEXT: 8c: blr entry: - ret i32* getelementptr inbounds ([5 x i32], [5 x i32]* @y, i64 0, i64 3) + ret ptr getelementptr inbounds ([5 x i32], ptr @y, i64 0, i64 3) } diff --git a/llvm/test/CodeGen/PowerPC/pcrel-tls_get_addr_clobbers.ll b/llvm/test/CodeGen/PowerPC/pcrel-tls_get_addr_clobbers.ll index 291fb92..38f55da 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel-tls_get_addr_clobbers.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel-tls_get_addr_clobbers.ll @@ -1,9 +1,9 @@ ; RUN: llc -verify-machineinstrs -mtriple="powerpc64le-unknown-linux-gnu" \ ; RUN: -ppc-asm-full-reg-names -mcpu=pwr10 -relocation-model=pic < %s | FileCheck %s -%0 = type { i32 (...)**, %0* } -@x = external dso_local thread_local unnamed_addr global %0*, align 8 -define void @test(i8* %arg) { +%0 = type { ptr, ptr } +@x = external dso_local thread_local unnamed_addr global ptr, align 8 +define void @test(ptr %arg) { ; CHECK-LABEL: test: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mflr r0 @@ -20,6 +20,6 @@ define void @test(i8* %arg) { ; CHECK-NEXT: ld r30, -16(r1) ; CHECK-NEXT: mtlr r0 entry: - store i8* %arg, i8** bitcast (%0** @x to i8**), align 8 + store ptr %arg, ptr @x, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pcrel.ll b/llvm/test/CodeGen/PowerPC/pcrel.ll index 37c5b7c..a7872c1 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel.ll @@ -33,7 +33,7 @@ define dso_local signext i32 @ReadLocalVarInt() local_unnamed_addr { ; CHECK-O-NEXT: R_PPC64_PCREL34 valIntLoc ; CHECK-O-NEXT: blr entry: - %0 = load i32, i32* @valIntLoc, align 4 + %0 = load i32, ptr @valIntLoc, align 4 ret i32 %0 } @@ -54,6 +54,6 @@ define dso_local signext i32 @ReadGlobalVarInt() local_unnamed_addr { ; CHECK-O-NEXT: lwa 3, 0(3) ; CHECK-O-NEXT: blr entry: - %0 = load i32, i32* @valIntGlob, align 4 + %0 = load i32, ptr @valIntGlob, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/pcrel_ldst.ll b/llvm/test/CodeGen/PowerPC/pcrel_ldst.ll index 1592c9e..7512d11 100644 --- a/llvm/test/CodeGen/PowerPC/pcrel_ldst.ll +++ b/llvm/test/CodeGen/PowerPC/pcrel_ldst.ll @@ -68,8 +68,8 @@ define dso_local void @testGlob1PtrPlus0() { ; CHECK-NEXT: stb r3, GlobSt1@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd1, i64 0, i64 0), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt1, i64 0, i64 0), align 1 + %0 = load i8, ptr @GlobLd1, align 1 + store i8 %0, ptr @GlobSt1, align 1 ret void } @@ -101,8 +101,8 @@ define dso_local void @testGlob1PtrPlus3() { ; CHECK-NEXT: stb r3, 3(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd1, i64 0, i64 3), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt1, i64 0, i64 3), align 1 + %0 = load i8, ptr getelementptr inbounds ([20 x i8], ptr @GlobLd1, i64 0, i64 3), align 1 + store i8 %0, ptr getelementptr inbounds ([20 x i8], ptr @GlobSt1, i64 0, i64 3), align 1 ret void } @@ -130,8 +130,8 @@ define dso_local void @testGlob1PtrPlus4() { ; CHECK-NEXT: stb r3, GlobSt1@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd1, i64 0, i64 4), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt1, i64 0, i64 4), align 1 + %0 = load i8, ptr getelementptr inbounds ([20 x i8], ptr @GlobLd1, i64 0, i64 4), align 1 + store i8 %0, ptr getelementptr inbounds ([20 x i8], ptr @GlobSt1, i64 0, i64 4), align 1 ret void } @@ -159,8 +159,8 @@ define dso_local void @testGlob1PtrPlus16() { ; CHECK-NEXT: stb r3, GlobSt1@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd1, i64 0, i64 16), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt1, i64 0, i64 16), align 1 + %0 = load i8, ptr getelementptr inbounds ([20 x i8], ptr @GlobLd1, i64 0, i64 16), align 1 + store i8 %0, ptr getelementptr inbounds ([20 x i8], ptr @GlobSt1, i64 0, i64 16), align 1 ret void } @@ -194,10 +194,10 @@ define dso_local void @testGlob1PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stbx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i8], [20 x i8]* @GlobLd1, i64 0, i64 %Idx - %0 = load i8, i8* %arrayidx, align 1 - %arrayidx1 = getelementptr inbounds [20 x i8], [20 x i8]* @GlobSt1, i64 0, i64 %Idx - store i8 %0, i8* %arrayidx1, align 1 + %arrayidx = getelementptr inbounds [20 x i8], ptr @GlobLd1, i64 0, i64 %Idx + %0 = load i8, ptr %arrayidx, align 1 + %arrayidx1 = getelementptr inbounds [20 x i8], ptr @GlobSt1, i64 0, i64 %Idx + store i8 %0, ptr %arrayidx1, align 1 ret void } @@ -225,8 +225,8 @@ define dso_local void @testGlob2PtrPlus0() { ; CHECK-NEXT: stb r3, GlobSt2@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd2, i64 0, i64 0), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt2, i64 0, i64 0), align 1 + %0 = load i8, ptr @GlobLd2, align 1 + store i8 %0, ptr @GlobSt2, align 1 ret void } @@ -258,8 +258,8 @@ define dso_local void @testGlob2PtrPlus3() { ; CHECK-NEXT: stb r3, 3(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd2, i64 0, i64 3), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt2, i64 0, i64 3), align 1 + %0 = load i8, ptr getelementptr inbounds ([20 x i8], ptr @GlobLd2, i64 0, i64 3), align 1 + store i8 %0, ptr getelementptr inbounds ([20 x i8], ptr @GlobSt2, i64 0, i64 3), align 1 ret void } @@ -287,8 +287,8 @@ define dso_local void @testGlob2PtrPlus4() { ; CHECK-NEXT: stb r3, GlobSt2@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd2, i64 0, i64 4), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt2, i64 0, i64 4), align 1 + %0 = load i8, ptr getelementptr inbounds ([20 x i8], ptr @GlobLd2, i64 0, i64 4), align 1 + store i8 %0, ptr getelementptr inbounds ([20 x i8], ptr @GlobSt2, i64 0, i64 4), align 1 ret void } @@ -316,8 +316,8 @@ define dso_local void @testGlob2PtrPlus16() { ; CHECK-NEXT: stb r3, GlobSt2@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd2, i64 0, i64 16), align 1 - store i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt2, i64 0, i64 16), align 1 + %0 = load i8, ptr getelementptr inbounds ([20 x i8], ptr @GlobLd2, i64 0, i64 16), align 1 + store i8 %0, ptr getelementptr inbounds ([20 x i8], ptr @GlobSt2, i64 0, i64 16), align 1 ret void } @@ -351,10 +351,10 @@ define dso_local void @testGlob2PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stbx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i8], [20 x i8]* @GlobLd2, i64 0, i64 %Idx - %0 = load i8, i8* %arrayidx, align 1 - %arrayidx1 = getelementptr inbounds [20 x i8], [20 x i8]* @GlobSt2, i64 0, i64 %Idx - store i8 %0, i8* %arrayidx1, align 1 + %arrayidx = getelementptr inbounds [20 x i8], ptr @GlobLd2, i64 0, i64 %Idx + %0 = load i8, ptr %arrayidx, align 1 + %arrayidx1 = getelementptr inbounds [20 x i8], ptr @GlobSt2, i64 0, i64 %Idx + store i8 %0, ptr %arrayidx1, align 1 ret void } @@ -382,8 +382,8 @@ define dso_local void @testGlob3PtrPlus0() { ; CHECK-NEXT: sth r3, GlobSt3@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd3, i64 0, i64 0), align 2 - store i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt3, i64 0, i64 0), align 2 + %0 = load i16, ptr @GlobLd3, align 2 + store i16 %0, ptr @GlobSt3, align 2 ret void } @@ -415,8 +415,8 @@ define dso_local void @testGlob3PtrPlus3() { ; CHECK-NEXT: sth r3, 3(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i16]* @GlobLd3 to i8*), i64 3) to i16*), align 2 - store i16 %0, i16* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i16]* @GlobSt3 to i8*), i64 3) to i16*), align 2 + %0 = load i16, ptr getelementptr inbounds (i8, ptr @GlobLd3, i64 3), align 2 + store i16 %0, ptr getelementptr inbounds (i8, ptr @GlobSt3, i64 3), align 2 ret void } @@ -444,8 +444,8 @@ define dso_local void @testGlob3PtrPlus4() { ; CHECK-NEXT: sth r3, GlobSt3@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd3, i64 0, i64 2), align 2 - store i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt3, i64 0, i64 2), align 2 + %0 = load i16, ptr getelementptr inbounds ([20 x i16], ptr @GlobLd3, i64 0, i64 2), align 2 + store i16 %0, ptr getelementptr inbounds ([20 x i16], ptr @GlobSt3, i64 0, i64 2), align 2 ret void } @@ -473,8 +473,8 @@ define dso_local void @testGlob3PtrPlus16() { ; CHECK-NEXT: sth r3, GlobSt3@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd3, i64 0, i64 8), align 2 - store i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt3, i64 0, i64 8), align 2 + %0 = load i16, ptr getelementptr inbounds ([20 x i16], ptr @GlobLd3, i64 0, i64 8), align 2 + store i16 %0, ptr getelementptr inbounds ([20 x i16], ptr @GlobSt3, i64 0, i64 8), align 2 ret void } @@ -511,10 +511,10 @@ define dso_local void @testGlob3PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: sthx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i16], [20 x i16]* @GlobLd3, i64 0, i64 %Idx - %0 = load i16, i16* %arrayidx, align 2 - %arrayidx1 = getelementptr inbounds [20 x i16], [20 x i16]* @GlobSt3, i64 0, i64 %Idx - store i16 %0, i16* %arrayidx1, align 2 + %arrayidx = getelementptr inbounds [20 x i16], ptr @GlobLd3, i64 0, i64 %Idx + %0 = load i16, ptr %arrayidx, align 2 + %arrayidx1 = getelementptr inbounds [20 x i16], ptr @GlobSt3, i64 0, i64 %Idx + store i16 %0, ptr %arrayidx1, align 2 ret void } @@ -542,8 +542,8 @@ define dso_local void @testGlob4PtrPlus0() { ; CHECK-NEXT: sth r3, GlobSt4@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd4, i64 0, i64 0), align 2 - store i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt4, i64 0, i64 0), align 2 + %0 = load i16, ptr @GlobLd4, align 2 + store i16 %0, ptr @GlobSt4, align 2 ret void } @@ -575,8 +575,8 @@ define dso_local void @testGlob4PtrPlus3() { ; CHECK-NEXT: sth r3, 3(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i16]* @GlobLd4 to i8*), i64 3) to i16*), align 2 - store i16 %0, i16* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i16]* @GlobSt4 to i8*), i64 3) to i16*), align 2 + %0 = load i16, ptr getelementptr inbounds (i8, ptr @GlobLd4, i64 3), align 2 + store i16 %0, ptr getelementptr inbounds (i8, ptr @GlobSt4, i64 3), align 2 ret void } @@ -604,8 +604,8 @@ define dso_local void @testGlob4PtrPlus4() { ; CHECK-NEXT: sth r3, GlobSt4@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd4, i64 0, i64 2), align 2 - store i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt4, i64 0, i64 2), align 2 + %0 = load i16, ptr getelementptr inbounds ([20 x i16], ptr @GlobLd4, i64 0, i64 2), align 2 + store i16 %0, ptr getelementptr inbounds ([20 x i16], ptr @GlobSt4, i64 0, i64 2), align 2 ret void } @@ -633,8 +633,8 @@ define dso_local void @testGlob4PtrPlus16() { ; CHECK-NEXT: sth r3, GlobSt4@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd4, i64 0, i64 8), align 2 - store i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt4, i64 0, i64 8), align 2 + %0 = load i16, ptr getelementptr inbounds ([20 x i16], ptr @GlobLd4, i64 0, i64 8), align 2 + store i16 %0, ptr getelementptr inbounds ([20 x i16], ptr @GlobSt4, i64 0, i64 8), align 2 ret void } @@ -671,10 +671,10 @@ define dso_local void @testGlob4PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: sthx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i16], [20 x i16]* @GlobLd4, i64 0, i64 %Idx - %0 = load i16, i16* %arrayidx, align 2 - %arrayidx1 = getelementptr inbounds [20 x i16], [20 x i16]* @GlobSt4, i64 0, i64 %Idx - store i16 %0, i16* %arrayidx1, align 2 + %arrayidx = getelementptr inbounds [20 x i16], ptr @GlobLd4, i64 0, i64 %Idx + %0 = load i16, ptr %arrayidx, align 2 + %arrayidx1 = getelementptr inbounds [20 x i16], ptr @GlobSt4, i64 0, i64 %Idx + store i16 %0, ptr %arrayidx1, align 2 ret void } @@ -702,8 +702,8 @@ define dso_local void @testGlob5PtrPlus0() { ; CHECK-NEXT: stw r3, GlobSt5@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd5, i64 0, i64 0), align 4 - store i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt5, i64 0, i64 0), align 4 + %0 = load i32, ptr @GlobLd5, align 4 + store i32 %0, ptr @GlobSt5, align 4 ret void } @@ -731,8 +731,8 @@ define dso_local void @testGlob5PtrPlus3() { ; CHECK-NEXT: stw r3, GlobSt5@toc@l+3(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i32]* @GlobLd5 to i8*), i64 3) to i32*), align 4 - store i32 %0, i32* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i32]* @GlobSt5 to i8*), i64 3) to i32*), align 4 + %0 = load i32, ptr getelementptr inbounds (i8, ptr @GlobLd5, i64 3), align 4 + store i32 %0, ptr getelementptr inbounds (i8, ptr @GlobSt5, i64 3), align 4 ret void } @@ -760,8 +760,8 @@ define dso_local void @testGlob5PtrPlus4() { ; CHECK-NEXT: stw r3, GlobSt5@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd5, i64 0, i64 1), align 4 - store i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt5, i64 0, i64 1), align 4 + %0 = load i32, ptr getelementptr inbounds ([20 x i32], ptr @GlobLd5, i64 0, i64 1), align 4 + store i32 %0, ptr getelementptr inbounds ([20 x i32], ptr @GlobSt5, i64 0, i64 1), align 4 ret void } @@ -789,8 +789,8 @@ define dso_local void @testGlob5PtrPlus16() { ; CHECK-NEXT: stw r3, GlobSt5@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd5, i64 0, i64 4), align 4 - store i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt5, i64 0, i64 4), align 4 + %0 = load i32, ptr getelementptr inbounds ([20 x i32], ptr @GlobLd5, i64 0, i64 4), align 4 + store i32 %0, ptr getelementptr inbounds ([20 x i32], ptr @GlobSt5, i64 0, i64 4), align 4 ret void } @@ -827,10 +827,10 @@ define dso_local void @testGlob5PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stwx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i32], [20 x i32]* @GlobLd5, i64 0, i64 %Idx - %0 = load i32, i32* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds [20 x i32], [20 x i32]* @GlobSt5, i64 0, i64 %Idx - store i32 %0, i32* %arrayidx1, align 4 + %arrayidx = getelementptr inbounds [20 x i32], ptr @GlobLd5, i64 0, i64 %Idx + %0 = load i32, ptr %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [20 x i32], ptr @GlobSt5, i64 0, i64 %Idx + store i32 %0, ptr %arrayidx1, align 4 ret void } @@ -858,8 +858,8 @@ define dso_local void @testGlob6PtrPlus0() { ; CHECK-NEXT: stw r3, GlobSt6@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd6, i64 0, i64 0), align 4 - store i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt6, i64 0, i64 0), align 4 + %0 = load i32, ptr @GlobLd6, align 4 + store i32 %0, ptr @GlobSt6, align 4 ret void } @@ -887,8 +887,8 @@ define dso_local void @testGlob6PtrPlus3() { ; CHECK-NEXT: stw r3, GlobSt6@toc@l+3(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i32]* @GlobLd6 to i8*), i64 3) to i32*), align 4 - store i32 %0, i32* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i32]* @GlobSt6 to i8*), i64 3) to i32*), align 4 + %0 = load i32, ptr getelementptr inbounds (i8, ptr @GlobLd6, i64 3), align 4 + store i32 %0, ptr getelementptr inbounds (i8, ptr @GlobSt6, i64 3), align 4 ret void } @@ -916,8 +916,8 @@ define dso_local void @testGlob6PtrPlus4() { ; CHECK-NEXT: stw r3, GlobSt6@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd6, i64 0, i64 1), align 4 - store i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt6, i64 0, i64 1), align 4 + %0 = load i32, ptr getelementptr inbounds ([20 x i32], ptr @GlobLd6, i64 0, i64 1), align 4 + store i32 %0, ptr getelementptr inbounds ([20 x i32], ptr @GlobSt6, i64 0, i64 1), align 4 ret void } @@ -945,8 +945,8 @@ define dso_local void @testGlob6PtrPlus16() { ; CHECK-NEXT: stw r3, GlobSt6@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd6, i64 0, i64 4), align 4 - store i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt6, i64 0, i64 4), align 4 + %0 = load i32, ptr getelementptr inbounds ([20 x i32], ptr @GlobLd6, i64 0, i64 4), align 4 + store i32 %0, ptr getelementptr inbounds ([20 x i32], ptr @GlobSt6, i64 0, i64 4), align 4 ret void } @@ -983,10 +983,10 @@ define dso_local void @testGlob6PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stwx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i32], [20 x i32]* @GlobLd6, i64 0, i64 %Idx - %0 = load i32, i32* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds [20 x i32], [20 x i32]* @GlobSt6, i64 0, i64 %Idx - store i32 %0, i32* %arrayidx1, align 4 + %arrayidx = getelementptr inbounds [20 x i32], ptr @GlobLd6, i64 0, i64 %Idx + %0 = load i32, ptr %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [20 x i32], ptr @GlobSt6, i64 0, i64 %Idx + store i32 %0, ptr %arrayidx1, align 4 ret void } @@ -1022,8 +1022,8 @@ define dso_local void @testGlob7PtrPlus0() { ; CHECK-P8-NEXT: std r3, GlobSt7@toc@l(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load i64, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobLd7, i64 0, i64 0), align 8 - store i64 %0, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobSt7, i64 0, i64 0), align 8 + %0 = load i64, ptr @GlobLd7, align 8 + store i64 %0, ptr @GlobSt7, align 8 ret void } @@ -1056,8 +1056,8 @@ define dso_local void @testGlob7PtrPlus3() { ; CHECK-NEXT: stdx r3, r5, r4 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobLd7 to i8*), i64 3) to i64*), align 8 - store i64 %0, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobSt7 to i8*), i64 3) to i64*), align 8 + %0 = load i64, ptr getelementptr inbounds (i8, ptr @GlobLd7, i64 3), align 8 + store i64 %0, ptr getelementptr inbounds (i8, ptr @GlobSt7, i64 3), align 8 ret void } @@ -1093,8 +1093,8 @@ define dso_local void @testGlob7PtrPlus4() { ; CHECK-P8-NEXT: std r3, GlobSt7@toc@l+4(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load i64, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobLd7 to i8*), i64 4) to i64*), align 8 - store i64 %0, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobSt7 to i8*), i64 4) to i64*), align 8 + %0 = load i64, ptr getelementptr inbounds (i8, ptr @GlobLd7, i64 4), align 8 + store i64 %0, ptr getelementptr inbounds (i8, ptr @GlobSt7, i64 4), align 8 ret void } @@ -1130,8 +1130,8 @@ define dso_local void @testGlob7PtrPlus16() { ; CHECK-P8-NEXT: std r3, GlobSt7@toc@l+16(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load i64, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobLd7, i64 0, i64 2), align 8 - store i64 %0, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobSt7, i64 0, i64 2), align 8 + %0 = load i64, ptr getelementptr inbounds ([20 x i64], ptr @GlobLd7, i64 0, i64 2), align 8 + store i64 %0, ptr getelementptr inbounds ([20 x i64], ptr @GlobSt7, i64 0, i64 2), align 8 ret void } @@ -1168,10 +1168,10 @@ define dso_local void @testGlob7PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stdx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i64], [20 x i64]* @GlobLd7, i64 0, i64 %Idx - %0 = load i64, i64* %arrayidx, align 8 - %arrayidx1 = getelementptr inbounds [20 x i64], [20 x i64]* @GlobSt7, i64 0, i64 %Idx - store i64 %0, i64* %arrayidx1, align 8 + %arrayidx = getelementptr inbounds [20 x i64], ptr @GlobLd7, i64 0, i64 %Idx + %0 = load i64, ptr %arrayidx, align 8 + %arrayidx1 = getelementptr inbounds [20 x i64], ptr @GlobSt7, i64 0, i64 %Idx + store i64 %0, ptr %arrayidx1, align 8 ret void } @@ -1207,8 +1207,8 @@ define dso_local void @testGlob8PtrPlus0() { ; CHECK-P8-NEXT: std r3, GlobSt8@toc@l(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load i64, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobLd8, i64 0, i64 0), align 8 - store i64 %0, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobSt8, i64 0, i64 0), align 8 + %0 = load i64, ptr @GlobLd8, align 8 + store i64 %0, ptr @GlobSt8, align 8 ret void } @@ -1241,8 +1241,8 @@ define dso_local void @testGlob8PtrPlus3() { ; CHECK-NEXT: stdx r3, r5, r4 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobLd8 to i8*), i64 3) to i64*), align 8 - store i64 %0, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobSt8 to i8*), i64 3) to i64*), align 8 + %0 = load i64, ptr getelementptr inbounds (i8, ptr @GlobLd8, i64 3), align 8 + store i64 %0, ptr getelementptr inbounds (i8, ptr @GlobSt8, i64 3), align 8 ret void } @@ -1278,8 +1278,8 @@ define dso_local void @testGlob8PtrPlus4() { ; CHECK-P8-NEXT: std r3, GlobSt8@toc@l+4(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load i64, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobLd8 to i8*), i64 4) to i64*), align 8 - store i64 %0, i64* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x i64]* @GlobSt8 to i8*), i64 4) to i64*), align 8 + %0 = load i64, ptr getelementptr inbounds (i8, ptr @GlobLd8, i64 4), align 8 + store i64 %0, ptr getelementptr inbounds (i8, ptr @GlobSt8, i64 4), align 8 ret void } @@ -1315,8 +1315,8 @@ define dso_local void @testGlob8PtrPlus16() { ; CHECK-P8-NEXT: std r3, GlobSt8@toc@l+16(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load i64, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobLd8, i64 0, i64 2), align 8 - store i64 %0, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobSt8, i64 0, i64 2), align 8 + %0 = load i64, ptr getelementptr inbounds ([20 x i64], ptr @GlobLd8, i64 0, i64 2), align 8 + store i64 %0, ptr getelementptr inbounds ([20 x i64], ptr @GlobSt8, i64 0, i64 2), align 8 ret void } @@ -1353,10 +1353,10 @@ define dso_local void @testGlob8PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stdx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x i64], [20 x i64]* @GlobLd8, i64 0, i64 %Idx - %0 = load i64, i64* %arrayidx, align 8 - %arrayidx1 = getelementptr inbounds [20 x i64], [20 x i64]* @GlobSt8, i64 0, i64 %Idx - store i64 %0, i64* %arrayidx1, align 8 + %arrayidx = getelementptr inbounds [20 x i64], ptr @GlobLd8, i64 0, i64 %Idx + %0 = load i64, ptr %arrayidx, align 8 + %arrayidx1 = getelementptr inbounds [20 x i64], ptr @GlobSt8, i64 0, i64 %Idx + store i64 %0, ptr %arrayidx1, align 8 ret void } @@ -1384,8 +1384,8 @@ define dso_local void @testGlob9PtrPlus0() { ; CHECK-NEXT: stw r3, GlobSt9@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load float, float* getelementptr inbounds ([20 x float], [20 x float]* @GlobLd9, i64 0, i64 0), align 4 - store float %0, float* getelementptr inbounds ([20 x float], [20 x float]* @GlobSt9, i64 0, i64 0), align 4 + %0 = load float, ptr @GlobLd9, align 4 + store float %0, ptr @GlobSt9, align 4 ret void } @@ -1413,8 +1413,8 @@ define dso_local void @testGlob9PtrPlus3() { ; CHECK-NEXT: stw r3, GlobSt9@toc@l+3(r4) ; CHECK-NEXT: blr entry: - %0 = load float, float* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x float]* @GlobLd9 to i8*), i64 3) to float*), align 4 - store float %0, float* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x float]* @GlobSt9 to i8*), i64 3) to float*), align 4 + %0 = load float, ptr getelementptr inbounds (i8, ptr @GlobLd9, i64 3), align 4 + store float %0, ptr getelementptr inbounds (i8, ptr @GlobSt9, i64 3), align 4 ret void } @@ -1442,8 +1442,8 @@ define dso_local void @testGlob9PtrPlus4() { ; CHECK-NEXT: stw r3, GlobSt9@toc@l+4(r4) ; CHECK-NEXT: blr entry: - %0 = load float, float* getelementptr inbounds ([20 x float], [20 x float]* @GlobLd9, i64 0, i64 1), align 4 - store float %0, float* getelementptr inbounds ([20 x float], [20 x float]* @GlobSt9, i64 0, i64 1), align 4 + %0 = load float, ptr getelementptr inbounds ([20 x float], ptr @GlobLd9, i64 0, i64 1), align 4 + store float %0, ptr getelementptr inbounds ([20 x float], ptr @GlobSt9, i64 0, i64 1), align 4 ret void } @@ -1471,8 +1471,8 @@ define dso_local void @testGlob9PtrPlus16() { ; CHECK-NEXT: stw r3, GlobSt9@toc@l+16(r4) ; CHECK-NEXT: blr entry: - %0 = load float, float* getelementptr inbounds ([20 x float], [20 x float]* @GlobLd9, i64 0, i64 4), align 4 - store float %0, float* getelementptr inbounds ([20 x float], [20 x float]* @GlobSt9, i64 0, i64 4), align 4 + %0 = load float, ptr getelementptr inbounds ([20 x float], ptr @GlobLd9, i64 0, i64 4), align 4 + store float %0, ptr getelementptr inbounds ([20 x float], ptr @GlobSt9, i64 0, i64 4), align 4 ret void } @@ -1509,10 +1509,10 @@ define dso_local void @testGlob9PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stwx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x float], [20 x float]* @GlobLd9, i64 0, i64 %Idx - %0 = load float, float* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds [20 x float], [20 x float]* @GlobSt9, i64 0, i64 %Idx - store float %0, float* %arrayidx1, align 4 + %arrayidx = getelementptr inbounds [20 x float], ptr @GlobLd9, i64 0, i64 %Idx + %0 = load float, ptr %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [20 x float], ptr @GlobSt9, i64 0, i64 %Idx + store float %0, ptr %arrayidx1, align 4 ret void } @@ -1548,8 +1548,8 @@ define dso_local void @testGlob10PtrPlus0() { ; CHECK-P8-NEXT: std r3, GlobSt10@toc@l(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load double, double* getelementptr inbounds ([20 x double], [20 x double]* @GlobLd10, i64 0, i64 0), align 8 - store double %0, double* getelementptr inbounds ([20 x double], [20 x double]* @GlobSt10, i64 0, i64 0), align 8 + %0 = load double, ptr @GlobLd10, align 8 + store double %0, ptr @GlobSt10, align 8 ret void } @@ -1582,8 +1582,8 @@ define dso_local void @testGlob10PtrPlus3() { ; CHECK-NEXT: stdx r3, r5, r4 ; CHECK-NEXT: blr entry: - %0 = load double, double* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x double]* @GlobLd10 to i8*), i64 3) to double*), align 8 - store double %0, double* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x double]* @GlobSt10 to i8*), i64 3) to double*), align 8 + %0 = load double, ptr getelementptr inbounds (i8, ptr @GlobLd10, i64 3), align 8 + store double %0, ptr getelementptr inbounds (i8, ptr @GlobSt10, i64 3), align 8 ret void } @@ -1619,8 +1619,8 @@ define dso_local void @testGlob10PtrPlus4() { ; CHECK-P8-NEXT: std r3, GlobSt10@toc@l+4(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load double, double* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x double]* @GlobLd10 to i8*), i64 4) to double*), align 8 - store double %0, double* bitcast (i8* getelementptr inbounds (i8, i8* bitcast ([20 x double]* @GlobSt10 to i8*), i64 4) to double*), align 8 + %0 = load double, ptr getelementptr inbounds (i8, ptr @GlobLd10, i64 4), align 8 + store double %0, ptr getelementptr inbounds (i8, ptr @GlobSt10, i64 4), align 8 ret void } @@ -1656,8 +1656,8 @@ define dso_local void @testGlob10PtrPlus16() { ; CHECK-P8-NEXT: std r3, GlobSt10@toc@l+16(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load double, double* getelementptr inbounds ([20 x double], [20 x double]* @GlobLd10, i64 0, i64 2), align 8 - store double %0, double* getelementptr inbounds ([20 x double], [20 x double]* @GlobSt10, i64 0, i64 2), align 8 + %0 = load double, ptr getelementptr inbounds ([20 x double], ptr @GlobLd10, i64 0, i64 2), align 8 + store double %0, ptr getelementptr inbounds ([20 x double], ptr @GlobSt10, i64 0, i64 2), align 8 ret void } @@ -1694,10 +1694,10 @@ define dso_local void @testGlob10PtrPlusVar(i64 %Idx) { ; CHECK-NEXT: stdx r4, r5, r3 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x double], [20 x double]* @GlobLd10, i64 0, i64 %Idx - %0 = load double, double* %arrayidx, align 8 - %arrayidx1 = getelementptr inbounds [20 x double], [20 x double]* @GlobSt10, i64 0, i64 %Idx - store double %0, double* %arrayidx1, align 8 + %arrayidx = getelementptr inbounds [20 x double], ptr @GlobLd10, i64 0, i64 %Idx + %0 = load double, ptr %arrayidx, align 8 + %arrayidx1 = getelementptr inbounds [20 x double], ptr @GlobSt10, i64 0, i64 %Idx + store double %0, ptr %arrayidx1, align 8 ret void } @@ -1749,8 +1749,8 @@ define dso_local void @testGlob11PtrPlus0() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, 0, r3 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd11, i64 0, i64 0), align 16 - store <16 x i8> %0, <16 x i8>* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt11, i64 0, i64 0), align 16 + %0 = load <16 x i8>, ptr @GlobLd11, align 16 + store <16 x i8> %0, ptr @GlobSt11, align 16 ret void } @@ -1805,8 +1805,8 @@ define dso_local void @testGlob11PtrPlus3() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd11, i64 0, i64 0, i64 3) to <16 x i8>*), align 16 - store <16 x i8> %0, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt11, i64 0, i64 0, i64 3) to <16 x i8>*), align 16 + %0 = load <16 x i8>, ptr getelementptr ([20 x <16 x i8>], ptr @GlobLd11, i64 0, i64 0, i64 3), align 16 + store <16 x i8> %0, ptr getelementptr ([20 x <16 x i8>], ptr @GlobSt11, i64 0, i64 0, i64 3), align 16 ret void } @@ -1861,8 +1861,8 @@ define dso_local void @testGlob11PtrPlus4() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd11, i64 0, i64 0, i64 4) to <16 x i8>*), align 16 - store <16 x i8> %0, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt11, i64 0, i64 0, i64 4) to <16 x i8>*), align 16 + %0 = load <16 x i8>, ptr getelementptr ([20 x <16 x i8>], ptr @GlobLd11, i64 0, i64 0, i64 4), align 16 + store <16 x i8> %0, ptr getelementptr ([20 x <16 x i8>], ptr @GlobSt11, i64 0, i64 0, i64 4), align 16 ret void } @@ -1916,8 +1916,8 @@ define dso_local void @testGlob11PtrPlus16() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* bitcast (i8* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd11, i64 0, i64 1, i64 0) to <16 x i8>*), align 16 - store <16 x i8> %0, <16 x i8>* bitcast (i8* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt11, i64 0, i64 1, i64 0) to <16 x i8>*), align 16 + %0 = load <16 x i8>, ptr getelementptr inbounds ([20 x <16 x i8>], ptr @GlobLd11, i64 0, i64 1, i64 0), align 16 + store <16 x i8> %0, ptr getelementptr inbounds ([20 x <16 x i8>], ptr @GlobSt11, i64 0, i64 1, i64 0), align 16 ret void } @@ -1976,10 +1976,10 @@ define dso_local void @testGlob11PtrPlusVar(i64 %Idx) { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r4, r3 ; CHECK-P8-BE-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd11, i64 0, i64 %Idx - %0 = load <16 x i8>, <16 x i8>* %arrayidx, align 16 - %arrayidx1 = getelementptr inbounds [20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt11, i64 0, i64 %Idx - store <16 x i8> %0, <16 x i8>* %arrayidx1, align 16 + %arrayidx = getelementptr inbounds [20 x <16 x i8>], ptr @GlobLd11, i64 0, i64 %Idx + %0 = load <16 x i8>, ptr %arrayidx, align 16 + %arrayidx1 = getelementptr inbounds [20 x <16 x i8>], ptr @GlobSt11, i64 0, i64 %Idx + store <16 x i8> %0, ptr %arrayidx1, align 16 ret void } @@ -2031,8 +2031,8 @@ define dso_local void @testGlob12PtrPlus0() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, 0, r3 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd12, i64 0, i64 0), align 16 - store <16 x i8> %0, <16 x i8>* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt12, i64 0, i64 0), align 16 + %0 = load <16 x i8>, ptr @GlobLd12, align 16 + store <16 x i8> %0, ptr @GlobSt12, align 16 ret void } @@ -2087,8 +2087,8 @@ define dso_local void @testGlob12PtrPlus3() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd12, i64 0, i64 0, i64 3) to <16 x i8>*), align 16 - store <16 x i8> %0, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt12, i64 0, i64 0, i64 3) to <16 x i8>*), align 16 + %0 = load <16 x i8>, ptr getelementptr ([20 x <16 x i8>], ptr @GlobLd12, i64 0, i64 0, i64 3), align 16 + store <16 x i8> %0, ptr getelementptr ([20 x <16 x i8>], ptr @GlobSt12, i64 0, i64 0, i64 3), align 16 ret void } @@ -2143,8 +2143,8 @@ define dso_local void @testGlob12PtrPlus4() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd12, i64 0, i64 0, i64 4) to <16 x i8>*), align 16 - store <16 x i8> %0, <16 x i8>* bitcast (i8* getelementptr ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt12, i64 0, i64 0, i64 4) to <16 x i8>*), align 16 + %0 = load <16 x i8>, ptr getelementptr ([20 x <16 x i8>], ptr @GlobLd12, i64 0, i64 0, i64 4), align 16 + store <16 x i8> %0, ptr getelementptr ([20 x <16 x i8>], ptr @GlobSt12, i64 0, i64 0, i64 4), align 16 ret void } @@ -2198,8 +2198,8 @@ define dso_local void @testGlob12PtrPlus16() { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load <16 x i8>, <16 x i8>* bitcast (i8* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd12, i64 0, i64 1, i64 0) to <16 x i8>*), align 16 - store <16 x i8> %0, <16 x i8>* bitcast (i8* getelementptr inbounds ([20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt12, i64 0, i64 1, i64 0) to <16 x i8>*), align 16 + %0 = load <16 x i8>, ptr getelementptr inbounds ([20 x <16 x i8>], ptr @GlobLd12, i64 0, i64 1, i64 0), align 16 + store <16 x i8> %0, ptr getelementptr inbounds ([20 x <16 x i8>], ptr @GlobSt12, i64 0, i64 1, i64 0), align 16 ret void } @@ -2258,10 +2258,10 @@ define dso_local void @testGlob12PtrPlusVar(i64 %Idx) { ; CHECK-P8-BE-NEXT: stxvw4x vs0, r4, r3 ; CHECK-P8-BE-NEXT: blr entry: - %arrayidx = getelementptr inbounds [20 x <16 x i8>], [20 x <16 x i8>]* @GlobLd12, i64 0, i64 %Idx - %0 = load <16 x i8>, <16 x i8>* %arrayidx, align 16 - %arrayidx1 = getelementptr inbounds [20 x <16 x i8>], [20 x <16 x i8>]* @GlobSt12, i64 0, i64 %Idx - store <16 x i8> %0, <16 x i8>* %arrayidx1, align 16 + %arrayidx = getelementptr inbounds [20 x <16 x i8>], ptr @GlobLd12, i64 0, i64 %Idx + %0 = load <16 x i8>, ptr %arrayidx, align 16 + %arrayidx1 = getelementptr inbounds [20 x <16 x i8>], ptr @GlobSt12, i64 0, i64 %Idx + store <16 x i8> %0, ptr %arrayidx1, align 16 ret void } @@ -2289,8 +2289,8 @@ define dso_local void @Atomic_LdSt_i8() { ; CHECK-NEXT: stb r3, GlobSt1@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load atomic i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobLd1, i64 0, i64 0) monotonic, align 1 - store atomic i8 %0, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @GlobSt1, i64 0, i64 0) monotonic, align 1 + %0 = load atomic i8, ptr @GlobLd1 monotonic, align 1 + store atomic i8 %0, ptr @GlobSt1 monotonic, align 1 ret void } @@ -2318,8 +2318,8 @@ define dso_local void @Atomic_LdSt_i16() { ; CHECK-NEXT: sth r3, GlobSt3@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load atomic i16, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobLd3, i64 0, i64 0) monotonic, align 2 - store atomic i16 %0, i16* getelementptr inbounds ([20 x i16], [20 x i16]* @GlobSt3, i64 0, i64 0) monotonic, align 2 + %0 = load atomic i16, ptr @GlobLd3 monotonic, align 2 + store atomic i16 %0, ptr @GlobSt3 monotonic, align 2 ret void } @@ -2347,8 +2347,8 @@ define dso_local void @Atomic_LdSt_i32() { ; CHECK-NEXT: stw r3, GlobSt5@toc@l(r4) ; CHECK-NEXT: blr entry: - %0 = load atomic i32, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobLd5, i64 0, i64 0) monotonic, align 4 - store atomic i32 %0, i32* getelementptr inbounds ([20 x i32], [20 x i32]* @GlobSt5, i64 0, i64 0) monotonic, align 4 + %0 = load atomic i32, ptr @GlobLd5 monotonic, align 4 + store atomic i32 %0, ptr @GlobSt5 monotonic, align 4 ret void } @@ -2384,8 +2384,8 @@ define dso_local void @Atomic_LdSt_i64() { ; CHECK-P8-NEXT: std r3, GlobSt7@toc@l(r4) ; CHECK-P8-NEXT: blr entry: - %0 = load atomic i64, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobLd7, i64 0, i64 0) monotonic, align 8 - store atomic i64 %0, i64* getelementptr inbounds ([20 x i64], [20 x i64]* @GlobSt7, i64 0, i64 0) monotonic, align 8 + %0 = load atomic i64, ptr @GlobLd7 monotonic, align 8 + store atomic i64 %0, ptr @GlobSt7 monotonic, align 8 ret void } @@ -2422,7 +2422,7 @@ define dso_local void @store_double_f64_to_uint(double %str) local_unnamed_addr ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i64 - store i64 %conv, i64* bitcast ([20 x double]* @GlobSt10 to i64*), align 8 + store i64 %conv, ptr @GlobSt10, align 8 ret void } @@ -2459,7 +2459,7 @@ define dso_local void @store_double_f64_to_sint(double %str) local_unnamed_addr ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i64 - store i64 %conv, i64* bitcast ([20 x double]* @GlobSt10 to i64*), align 8 + store i64 %conv, ptr @GlobSt10, align 8 ret void } @@ -2520,7 +2520,7 @@ define dso_local void @store_f128_to_uint(fp128 %str) local_unnamed_addr #0 { ; CHECK-P8-BE-NEXT: blr entry: %conv = fptoui fp128 %str to i64 - store i64 %conv, i64* bitcast ([20 x fp128]* @GlobF128 to i64*), align 16 + store i64 %conv, ptr @GlobF128, align 16 ret void } @@ -2581,6 +2581,6 @@ define dso_local void @store_f128_to_sint(fp128 %str) local_unnamed_addr #0 { ; CHECK-P8-BE-NEXT: blr entry: %conv = fptosi fp128 %str to i64 - store i64 %conv, i64* bitcast ([20 x fp128]* @GlobF128 to i64*), align 16 + store i64 %conv, ptr @GlobF128, align 16 ret void } diff --git a/llvm/test/CodeGen/PowerPC/peephole-align.ll b/llvm/test/CodeGen/PowerPC/peephole-align.ll index 3981e94..18a8da8 100644 --- a/llvm/test/CodeGen/PowerPC/peephole-align.ll +++ b/llvm/test/CodeGen/PowerPC/peephole-align.ll @@ -44,18 +44,18 @@ target triple = "powerpc64-unknown-linux-gnu" define dso_local void @test_b4() nounwind { entry: - %0 = load i8, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 0), align 1 + %0 = load i8, ptr @b4v, align 1 %inc0 = add nsw i8 %0, 1 - store i8 %inc0, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 0), align 1 - %1 = load i8, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 1), align 1 + store i8 %inc0, ptr @b4v, align 1 + %1 = load i8, ptr getelementptr inbounds (%struct.b4, ptr @b4v, i32 0, i32 1), align 1 %inc1 = add nsw i8 %1, 2 - store i8 %inc1, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 1), align 1 - %2 = load i8, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 2), align 1 + store i8 %inc1, ptr getelementptr inbounds (%struct.b4, ptr @b4v, i32 0, i32 1), align 1 + %2 = load i8, ptr getelementptr inbounds (%struct.b4, ptr @b4v, i32 0, i32 2), align 1 %inc2 = add nsw i8 %2, 3 - store i8 %inc2, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 2), align 1 - %3 = load i8, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 3), align 1 + store i8 %inc2, ptr getelementptr inbounds (%struct.b4, ptr @b4v, i32 0, i32 2), align 1 + %3 = load i8, ptr getelementptr inbounds (%struct.b4, ptr @b4v, i32 0, i32 3), align 1 %inc3 = add nsw i8 %3, 4 - store i8 %inc3, i8* getelementptr inbounds (%struct.b4, %struct.b4* @b4v, i32 0, i32 3), align 1 + store i8 %inc3, ptr getelementptr inbounds (%struct.b4, ptr @b4v, i32 0, i32 3), align 1 ret void } @@ -70,12 +70,12 @@ entry: define dso_local void @test_h2() nounwind { entry: - %0 = load i16, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 0), align 2 + %0 = load i16, ptr @h2v, align 2 %inc0 = add nsw i16 %0, 1 - store i16 %inc0, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 0), align 2 - %1 = load i16, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 1), align 2 + store i16 %inc0, ptr @h2v, align 2 + %1 = load i16, ptr getelementptr inbounds (%struct.h2, ptr @h2v, i32 0, i32 1), align 2 %inc1 = add nsw i16 %1, 2 - store i16 %inc1, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 1), align 2 + store i16 %inc1, ptr getelementptr inbounds (%struct.h2, ptr @h2v, i32 0, i32 1), align 2 ret void } @@ -89,12 +89,12 @@ entry: ; CHECK-DAG: sth [[REG1_1]], h2v@toc@l+2([[REGSTRUCT]]) define dso_local void @test_h2_optsize() optsize nounwind { entry: - %0 = load i16, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 0), align 2 + %0 = load i16, ptr @h2v, align 2 %inc0 = add nsw i16 %0, 1 - store i16 %inc0, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 0), align 2 - %1 = load i16, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 1), align 2 + store i16 %inc0, ptr @h2v, align 2 + %1 = load i16, ptr getelementptr inbounds (%struct.h2, ptr @h2v, i32 0, i32 1), align 2 %inc1 = add nsw i16 %1, 2 - store i16 %inc1, i16* getelementptr inbounds (%struct.h2, %struct.h2* @h2v, i32 0, i32 1), align 2 + store i16 %inc1, ptr getelementptr inbounds (%struct.h2, ptr @h2v, i32 0, i32 1), align 2 ret void } @@ -127,30 +127,30 @@ entry: define dso_local void @test_b8() nounwind { entry: - %0 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 0), align 1 + %0 = load i8, ptr @b8v, align 1 %inc0 = add nsw i8 %0, 1 - store i8 %inc0, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 0), align 1 - %1 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 1), align 1 + store i8 %inc0, ptr @b8v, align 1 + %1 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 1), align 1 %inc1 = add nsw i8 %1, 2 - store i8 %inc1, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 1), align 1 - %2 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 2), align 1 + store i8 %inc1, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 1), align 1 + %2 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 2), align 1 %inc2 = add nsw i8 %2, 3 - store i8 %inc2, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 2), align 1 - %3 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 3), align 1 + store i8 %inc2, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 2), align 1 + %3 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 3), align 1 %inc3 = add nsw i8 %3, 4 - store i8 %inc3, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 3), align 1 - %4 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 4), align 1 + store i8 %inc3, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 3), align 1 + %4 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 4), align 1 %inc4 = add nsw i8 %4, 5 - store i8 %inc4, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 4), align 1 - %5 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 5), align 1 + store i8 %inc4, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 4), align 1 + %5 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 5), align 1 %inc5 = add nsw i8 %5, 6 - store i8 %inc5, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 5), align 1 - %6 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 6), align 1 + store i8 %inc5, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 5), align 1 + %6 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 6), align 1 %inc6 = add nsw i8 %6, 7 - store i8 %inc6, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 6), align 1 - %7 = load i8, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 7), align 1 + store i8 %inc6, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 6), align 1 + %7 = load i8, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 7), align 1 %inc7 = add nsw i8 %7, 8 - store i8 %inc7, i8* getelementptr inbounds (%struct.b8, %struct.b8* @b8v, i32 0, i32 7), align 1 + store i8 %inc7, ptr getelementptr inbounds (%struct.b8, ptr @b8v, i32 0, i32 7), align 1 ret void } @@ -171,18 +171,18 @@ entry: define dso_local void @test_h4() nounwind { entry: - %0 = load i16, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 0), align 2 + %0 = load i16, ptr @h4v, align 2 %inc0 = add nsw i16 %0, 1 - store i16 %inc0, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 0), align 2 - %1 = load i16, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 1), align 2 + store i16 %inc0, ptr @h4v, align 2 + %1 = load i16, ptr getelementptr inbounds (%struct.h4, ptr @h4v, i32 0, i32 1), align 2 %inc1 = add nsw i16 %1, 2 - store i16 %inc1, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 1), align 2 - %2 = load i16, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 2), align 2 + store i16 %inc1, ptr getelementptr inbounds (%struct.h4, ptr @h4v, i32 0, i32 1), align 2 + %2 = load i16, ptr getelementptr inbounds (%struct.h4, ptr @h4v, i32 0, i32 2), align 2 %inc2 = add nsw i16 %2, 3 - store i16 %inc2, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 2), align 2 - %3 = load i16, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 3), align 2 + store i16 %inc2, ptr getelementptr inbounds (%struct.h4, ptr @h4v, i32 0, i32 2), align 2 + %3 = load i16, ptr getelementptr inbounds (%struct.h4, ptr @h4v, i32 0, i32 3), align 2 %inc3 = add nsw i16 %3, 4 - store i16 %inc3, i16* getelementptr inbounds (%struct.h4, %struct.h4* @h4v, i32 0, i32 3), align 2 + store i16 %inc3, ptr getelementptr inbounds (%struct.h4, ptr @h4v, i32 0, i32 3), align 2 ret void } @@ -197,12 +197,12 @@ entry: define dso_local void @test_w2() nounwind { entry: - %0 = load i32, i32* getelementptr inbounds (%struct.w2, %struct.w2* @w2v, i32 0, i32 0), align 4 + %0 = load i32, ptr @w2v, align 4 %inc0 = add nsw i32 %0, 1 - store i32 %inc0, i32* getelementptr inbounds (%struct.w2, %struct.w2* @w2v, i32 0, i32 0), align 4 - %1 = load i32, i32* getelementptr inbounds (%struct.w2, %struct.w2* @w2v, i32 0, i32 1), align 4 + store i32 %inc0, ptr @w2v, align 4 + %1 = load i32, ptr getelementptr inbounds (%struct.w2, ptr @w2v, i32 0, i32 1), align 4 %inc1 = add nsw i32 %1, 2 - store i32 %inc1, i32* getelementptr inbounds (%struct.w2, %struct.w2* @w2v, i32 0, i32 1), align 4 + store i32 %inc1, ptr getelementptr inbounds (%struct.w2, ptr @w2v, i32 0, i32 1), align 4 ret void } @@ -218,12 +218,12 @@ entry: define dso_local void @test_d2() nounwind { entry: - %0 = load i64, i64* getelementptr inbounds (%struct.d2, %struct.d2* @d2v, i32 0, i32 0), align 8 + %0 = load i64, ptr @d2v, align 8 %inc0 = add nsw i64 %0, 1 - store i64 %inc0, i64* getelementptr inbounds (%struct.d2, %struct.d2* @d2v, i32 0, i32 0), align 8 - %1 = load i64, i64* getelementptr inbounds (%struct.d2, %struct.d2* @d2v, i32 0, i32 1), align 8 + store i64 %inc0, ptr @d2v, align 8 + %1 = load i64, ptr getelementptr inbounds (%struct.d2, ptr @d2v, i32 0, i32 1), align 8 %inc1 = add nsw i64 %1, 2 - store i64 %inc1, i64* getelementptr inbounds (%struct.d2, %struct.d2* @d2v, i32 0, i32 1), align 8 + store i64 %inc1, ptr getelementptr inbounds (%struct.d2, ptr @d2v, i32 0, i32 1), align 8 ret void } @@ -232,7 +232,7 @@ entry: ; CHECK: ld 3, d2v@toc@l+8([[REG]]) define i64 @test_singleuse() nounwind { entry: - %0 = load i64, i64* getelementptr inbounds (%struct.d2, %struct.d2* @d2v, i32 0, i32 1), align 8 + %0 = load i64, ptr getelementptr inbounds (%struct.d2, ptr @d2v, i32 0, i32 1), align 8 ret i64 %0 } @@ -246,8 +246,8 @@ entry: ; CHECK: stdx [[REG0_1]], [[REGSTRUCT]], [[OFFSET_REG]] define dso_local void @test_misalign() nounwind { entry: - %0 = load i64, i64* getelementptr inbounds (%struct.misalign, %struct.misalign* @misalign_v, i32 0, i32 1), align 1 + %0 = load i64, ptr getelementptr inbounds (%struct.misalign, ptr @misalign_v, i32 0, i32 1), align 1 %inc0 = add nsw i64 %0, 1 - store i64 %inc0, i64* getelementptr inbounds (%struct.misalign, %struct.misalign* @misalign_v, i32 0, i32 1), align 1 + store i64 %inc0, ptr getelementptr inbounds (%struct.misalign, ptr @misalign_v, i32 0, i32 1), align 1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll b/llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll index 92deedf..172affa 100644 --- a/llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll +++ b/llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll @@ -14,9 +14,9 @@ target triple = "powerpc-ibm-aix7.2.0.0" @__profd_main = private global i64 zeroinitializer, section "__llvm_prf_data", align 8 @__llvm_prf_nm = private constant [6 x i8] c"\04\00main", section "__llvm_prf_names", align 1 -@llvm.used = appending global [2 x i8*] - [i8* bitcast (i64* @__profd_main to i8*), - i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__llvm_prf_nm, i32 0, i32 0)], section "llvm.metadata" +@llvm.used = appending global [2 x ptr] + [ptr @__profd_main, + ptr @__llvm_prf_nm], section "llvm.metadata" define i32 @main() #0 { entry: @@ -37,10 +37,10 @@ target triple = "powerpc-ibm-aix7.2.0.0" @__profd_main = private global i64 zeroinitializer, section "__llvm_prf_data", align 8 @__llvm_prf_nm = private constant [6 x i8] c"\04\00main", section "__llvm_prf_names", align 1 -@llvm.used = appending global [3 x i8*] - [i8* bitcast ([1 x i64]* @__profc_main to i8*), - i8* bitcast (i64* @__profd_main to i8*), - i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__llvm_prf_nm, i32 0, i32 0)], section "llvm.metadata" +@llvm.used = appending global [3 x ptr] + [ptr @__profc_main, + ptr @__profd_main, + ptr @__llvm_prf_nm], section "llvm.metadata" define i32 @main() #0 { entry: @@ -62,13 +62,13 @@ entry: @__profc_main = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", align 8 @__profd_main = private global i64 zeroinitializer, section "__llvm_prf_data", align 8 @__llvm_prf_nm = private constant [6 x i8] c"\04\00main", section "__llvm_prf_names", align 1 -@__llvm_prf_vnodes = private global [10 x { i64, i64, i8* }] zeroinitializer, section "__llvm_prf_vnds" +@__llvm_prf_vnodes = private global [10 x { i64, i64, ptr }] zeroinitializer, section "__llvm_prf_vnds" -@llvm.used = appending global [4 x i8*] - [i8* bitcast ([1 x i64]* @__profc_main to i8*), - i8* bitcast (i64* @__profd_main to i8*), - i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__llvm_prf_nm, i32 0, i32 0), - i8* bitcast ([10 x { i64, i64, i8* }]* @__llvm_prf_vnodes to i8*)], section "llvm.metadata" +@llvm.used = appending global [4 x ptr] + [ptr @__profc_main, + ptr @__profd_main, + ptr @__llvm_prf_nm, + ptr @__llvm_prf_vnodes], section "llvm.metadata" define i32 @main() #0 { entry: diff --git a/llvm/test/CodeGen/PowerPC/pip-inner.ll b/llvm/test/CodeGen/PowerPC/pip-inner.ll index 69786ba..9ca87e1 100644 --- a/llvm/test/CodeGen/PowerPC/pip-inner.ll +++ b/llvm/test/CodeGen/PowerPC/pip-inner.ll @@ -3,7 +3,7 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind -define void @foo(double* %x, double* nocapture readonly %y) #0 { +define void @foo(ptr %x, ptr nocapture readonly %y) #0 { entry: br label %for.cond1.preheader @@ -13,17 +13,17 @@ for.cond1.preheader: ; preds = %for.end, %entry for.body3: ; preds = %for.body3, %for.cond1.preheader %indvars.iv = phi i64 [ 0, %for.cond1.preheader ], [ %indvars.iv.next, %for.body3 ] - %arrayidx = getelementptr inbounds double, double* %y, i64 %indvars.iv - %0 = load double, double* %arrayidx, align 8 + %arrayidx = getelementptr inbounds double, ptr %y, i64 %indvars.iv + %0 = load double, ptr %arrayidx, align 8 %add = fadd double %0, 1.000000e+00 - %arrayidx5 = getelementptr inbounds double, double* %x, i64 %indvars.iv - store double %add, double* %arrayidx5, align 8 + %arrayidx5 = getelementptr inbounds double, ptr %x, i64 %indvars.iv + store double %add, ptr %arrayidx5, align 8 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond = icmp eq i64 %indvars.iv.next, 16000 br i1 %exitcond, label %for.end, label %for.body3 for.end: ; preds = %for.body3 - tail call void @bar(double* %x) #2 + tail call void @bar(ptr %x) #2 %inc7 = add nuw nsw i32 %i.015, 1 %exitcond16 = icmp eq i32 %inc7, 1000 br i1 %exitcond16, label %for.end8, label %for.cond1.preheader @@ -44,7 +44,7 @@ for.end8: ; preds = %for.end ; CHECK: blr } -declare void @bar(double*) #1 +declare void @bar(ptr) #1 attributes #0 = { nounwind "target-cpu"="a2" } attributes #1 = { "target-cpu"="a2" } diff --git a/llvm/test/CodeGen/PowerPC/popcount.ll b/llvm/test/CodeGen/PowerPC/popcount.ll index 107ae54..a912882 100644 --- a/llvm/test/CodeGen/PowerPC/popcount.ll +++ b/llvm/test/CodeGen/PowerPC/popcount.ll @@ -2,7 +2,7 @@ ; RUN: llc < %s -O0 -mtriple=powerpc64le-unknown-unknown | FileCheck %s ; Function Attrs: nobuiltin nounwind readonly -define i8 @popcount128(i128* nocapture nonnull readonly %0) { +define i8 @popcount128(ptr nocapture nonnull readonly %0) { ; CHECK-LABEL: popcount128: ; CHECK: # %bb.0: # %Entry ; CHECK-NEXT: mr 4, 3 @@ -15,7 +15,7 @@ define i8 @popcount128(i128* nocapture nonnull readonly %0) { ; CHECK-NEXT: clrldi 3, 3, 56 ; CHECK-NEXT: blr Entry: - %1 = load i128, i128* %0, align 16 + %1 = load i128, ptr %0, align 16 %2 = tail call i128 @llvm.ctpop.i128(i128 %1) %3 = trunc i128 %2 to i8 ret i8 %3 @@ -25,7 +25,7 @@ Entry: declare i128 @llvm.ctpop.i128(i128) ; Function Attrs: nobuiltin nounwind readonly -define i16 @popcount256(i256* nocapture nonnull readonly %0) { +define i16 @popcount256(ptr nocapture nonnull readonly %0) { ; CHECK-LABEL: popcount256: ; CHECK: # %bb.0: # %Entry ; CHECK-NEXT: mr 6, 3 @@ -44,7 +44,7 @@ define i16 @popcount256(i256* nocapture nonnull readonly %0) { ; CHECK-NEXT: clrldi 3, 3, 48 ; CHECK-NEXT: blr Entry: - %1 = load i256, i256* %0, align 16 + %1 = load i256, ptr %0, align 16 %2 = tail call i256 @llvm.ctpop.i256(i256 %1) %3 = trunc i256 %2 to i16 ret i16 %3 diff --git a/llvm/test/CodeGen/PowerPC/post-ra-ec.ll b/llvm/test/CodeGen/PowerPC/post-ra-ec.ll index 907e767..9c01d12 100644 --- a/llvm/test/CodeGen/PowerPC/post-ra-ec.ll +++ b/llvm/test/CodeGen/PowerPC/post-ra-ec.ll @@ -2,27 +2,27 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" -%struct.inode.0.12.120 = type { i8* } +%struct.inode.0.12.120 = type { ptr } %struct.kstat2.1.13.121 = type { i32 } -%struct.task_struct.4.16.124 = type { i8*, %struct.atomic_t.2.14.122, %struct.signal_struct.3.15.123* } +%struct.task_struct.4.16.124 = type { ptr, %struct.atomic_t.2.14.122, ptr } %struct.atomic_t.2.14.122 = type { i32 } %struct.signal_struct.3.15.123 = type { i64 } -%struct.pid.5.17.125 = type { i8* } +%struct.pid.5.17.125 = type { ptr } ; Function Attrs: nounwind -define signext i32 @proc_task_getattr(%struct.inode.0.12.120* nocapture readonly %inode, %struct.kstat2.1.13.121* nocapture %stat) #0 { +define signext i32 @proc_task_getattr(ptr nocapture readonly %inode, ptr nocapture %stat) #0 { entry: - %call1.i = tail call %struct.task_struct.4.16.124* @get_pid_task(%struct.pid.5.17.125* undef, i32 zeroext 0) #0 + %call1.i = tail call ptr @get_pid_task(ptr undef, i32 zeroext 0) #0 br i1 undef, label %if.end, label %if.then if.then: ; preds = %entry - %0 = load i64, i64* undef, align 8 + %0 = load i64, ptr undef, align 8 %conv.i = trunc i64 %0 to i32 - %1 = load i32, i32* null, align 4 + %1 = load i32, ptr null, align 4 %add = add i32 %1, %conv.i - store i32 %add, i32* null, align 4 - %counter.i.i = getelementptr inbounds %struct.task_struct.4.16.124, %struct.task_struct.4.16.124* %call1.i, i64 0, i32 1, i32 0 - %2 = tail call i32 asm sideeffect "\09lwsync\0A1:\09lwarx\09$0,0,$1\09\09# atomic_dec_return\0A\09addic\09$0,$0,-1\0A\09stwcx.\09$0,0,$1\0A\09bne-\091b\0A\09sync\0A", "=&r,r,~{cr0},~{xer},~{memory}"(i32* %counter.i.i) #0 + store i32 %add, ptr null, align 4 + %counter.i.i = getelementptr inbounds %struct.task_struct.4.16.124, ptr %call1.i, i64 0, i32 1, i32 0 + %2 = tail call i32 asm sideeffect "\09lwsync\0A1:\09lwarx\09$0,0,$1\09\09# atomic_dec_return\0A\09addic\09$0,$0,-1\0A\09stwcx.\09$0,0,$1\0A\09bne-\091b\0A\09sync\0A", "=&r,r,~{cr0},~{xer},~{memory}"(ptr %counter.i.i) #0 %cmp.i = icmp eq i32 %2, 0 br i1 %cmp.i, label %if.then.i, label %if.end @@ -31,17 +31,16 @@ if.then: ; preds = %entry ; CHECK: blr if.then.i: ; preds = %if.then - %3 = bitcast %struct.task_struct.4.16.124* %call1.i to i8* - tail call void @foo(i8* %3) #0 + tail call void @foo(ptr %call1.i) #0 unreachable if.end: ; preds = %if.then, %entry ret i32 0 } -declare void @foo(i8*) +declare void @foo(ptr) -declare %struct.task_struct.4.16.124* @get_pid_task(%struct.pid.5.17.125*, i32 zeroext) +declare ptr @get_pid_task(ptr, i32 zeroext) attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll b/llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll index dab7647..5c44b68 100644 --- a/llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll +++ b/llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll @@ -7,7 +7,7 @@ ; RUN: llc -vector-library=MASSV < %s -mtriple=powerpc-ibm-aix-xcoff -mcpu=pwr7 | FileCheck -check-prefixes=CHECK-PWR7 %s ; Exponent is a variable -define void @vpow_var(double* nocapture %z, double* nocapture readonly %y, double* nocapture readonly %x) { +define void @vpow_var(ptr nocapture %z, ptr nocapture readonly %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_var ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -19,26 +19,23 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %z, i64 %index - %next.gep31 = getelementptr double, double* %y, i64 %index - %next.gep32 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep32 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = bitcast double* %next.gep31 to <2 x double>* - %wide.load33 = load <2 x double>, <2 x double>* %1, align 8 - %2 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> %wide.load33) - %3 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %2, <2 x double>* %3, align 8 + %next.gep = getelementptr double, ptr %z, i64 %index + %next.gep31 = getelementptr double, ptr %y, i64 %index + %next.gep32 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep32, align 8 + %wide.load33 = load <2 x double>, ptr %next.gep31, align 8 + %0 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> %wide.load33) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %4 = icmp eq i64 %index.next, 1024 - br i1 %4, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 -define void @vpow_const(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_const ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -50,23 +47,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 and they are different -define void @vpow_noeq_const(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_noeq_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_noeq_const ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -78,23 +73,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 and they are different -define void @vpow_noeq075_const(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_noeq075_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_noeq075_const ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -106,23 +99,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 and they are different -define void @vpow_noeq025_const(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_noeq025_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_noeq025_const ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -134,23 +125,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.75 -define void @vpow_075(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_075(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_075 ; CHECK-NOT: __powd2_P{{[7,8,9,10]}} ; CHECK: xvrsqrtesp @@ -160,23 +149,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call ninf afn <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call ninf afn <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.25 -define void @vpow_025(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_025(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_025 ; CHECK-NOT: __powd2_P{{[7,8,9,10]}} ; CHECK: xvrsqrtesp @@ -186,23 +173,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call ninf afn nsz <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.75 but no proper fast-math flags -define void @vpow_075_nofast(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_075_nofast(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_075_nofast ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -215,23 +200,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.25 but no proper fast-math flags -define void @vpow_025_nofast(double* nocapture %y, double* nocapture readonly %x) { +define void @vpow_025_nofast(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vpow_025_nofast ; CHECK-PWR10: __powd2_P10 ; CHECK-PWR9: __powd2_P9 @@ -244,16 +227,14 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr double, double* %y, i64 %index - %next.gep19 = getelementptr double, double* %x, i64 %index - %0 = bitcast double* %next.gep19 to <2 x double>* - %wide.load = load <2 x double>, <2 x double>* %0, align 8 - %1 = call <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) - %2 = bitcast double* %next.gep to <2 x double>* - store <2 x double> %1, <2 x double>* %2, align 8 + %next.gep = getelementptr double, ptr %y, i64 %index + %next.gep19 = getelementptr double, ptr %x, i64 %index + %wide.load = load <2 x double>, ptr %next.gep19, align 8 + %0 = call <2 x double> @__powd2(<2 x double> %wide.load, <2 x double> ) + store <2 x double> %0, ptr %next.gep, align 8 %index.next = add i64 %index, 2 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void diff --git a/llvm/test/CodeGen/PowerPC/power9-moves-and-splats.ll b/llvm/test/CodeGen/PowerPC/power9-moves-and-splats.ll index 85ff608..eb7a753 100644 --- a/llvm/test/CodeGen/PowerPC/power9-moves-and-splats.ll +++ b/llvm/test/CodeGen/PowerPC/power9-moves-and-splats.ll @@ -58,7 +58,7 @@ entry: ret i64 %0 } -define <4 x i32> @test4(i32* nocapture readonly %in) { +define <4 x i32> @test4(ptr nocapture readonly %in) { ; CHECK-LABEL: test4: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxvwsx v2, 0, r3 @@ -70,13 +70,13 @@ define <4 x i32> @test4(i32* nocapture readonly %in) { ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* %in, align 4 + %0 = load i32, ptr %in, align 4 %splat.splatinsert = insertelement <4 x i32> undef, i32 %0, i32 0 %splat.splat = shufflevector <4 x i32> %splat.splatinsert, <4 x i32> undef, <4 x i32> zeroinitializer ret <4 x i32> %splat.splat } -define <4 x float> @test5(float* nocapture readonly %in) { +define <4 x float> @test5(ptr nocapture readonly %in) { ; CHECK-LABEL: test5: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxvwsx v2, 0, r3 @@ -88,7 +88,7 @@ define <4 x float> @test5(float* nocapture readonly %in) { ; CHECK-BE-NEXT: blr entry: - %0 = load float, float* %in, align 4 + %0 = load float, ptr %in, align 4 %splat.splatinsert = insertelement <4 x float> undef, float %0, i32 0 %splat.splat = shufflevector <4 x float> %splat.splatinsert, <4 x float> undef, <4 x i32> zeroinitializer ret <4 x float> %splat.splat @@ -110,7 +110,7 @@ define <4 x i32> @test6() { ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* @Globi, align 4 + %0 = load i32, ptr @Globi, align 4 %splat.splatinsert = insertelement <4 x i32> undef, i32 %0, i32 0 %splat.splat = shufflevector <4 x i32> %splat.splatinsert, <4 x i32> undef, <4 x i32> zeroinitializer ret <4 x i32> %splat.splat @@ -132,7 +132,7 @@ define <4 x float> @test7() { ; CHECK-BE-NEXT: blr entry: - %0 = load float, float* @Globf, align 4 + %0 = load float, ptr @Globf, align 4 %splat.splatinsert = insertelement <4 x float> undef, float %0, i32 0 %splat.splat = shufflevector <4 x float> %splat.splatinsert, <4 x float> undef, <4 x i32> zeroinitializer ret <4 x float> %splat.splat @@ -243,7 +243,7 @@ entry: ret <16 x i8> } -define <4 x i32> @test14(<4 x i32> %a, i32* nocapture readonly %b) { +define <4 x i32> @test14(<4 x i32> %a, ptr nocapture readonly %b) { ; CHECK-LABEL: test14: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz r3, 0(r5) @@ -263,10 +263,10 @@ define <4 x i32> @test14(<4 x i32> %a, i32* nocapture readonly %b) { ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* %b, align 4 + %0 = load i32, ptr %b, align 4 %splat.splatinsert = insertelement <4 x i32> undef, i32 %0, i32 0 %splat.splat = shufflevector <4 x i32> %splat.splatinsert, <4 x i32> undef, <4 x i32> zeroinitializer %1 = add i32 %0, 5 - store i32 %1, i32* %b, align 4 + store i32 %1, ptr %b, align 4 ret <4 x i32> %splat.splat } diff --git a/llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll b/llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll index 00851c8..a5c25ca 100644 --- a/llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll +++ b/llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll @@ -7,7 +7,7 @@ ; RUN: llc -vector-library=MASSV < %s -mtriple=powerpc-ibm-aix-xcoff -mcpu=pwr7 | FileCheck -check-prefixes=CHECK-PWR7 %s ; Exponent is a variable -define void @vspow_var(float* nocapture %z, float* nocapture readonly %y, float* nocapture readonly %x) { +define void @vspow_var(ptr nocapture %z, ptr nocapture readonly %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_var ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -19,26 +19,23 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %z, i64 %index - %next.gep31 = getelementptr float, float* %y, i64 %index - %next.gep32 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep32 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = bitcast float* %next.gep31 to <4 x float>* - %wide.load33 = load <4 x float>, <4 x float>* %1, align 4 - %2 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> %wide.load33) - %3 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %2, <4 x float>* %3, align 4 + %next.gep = getelementptr float, ptr %z, i64 %index + %next.gep31 = getelementptr float, ptr %y, i64 %index + %next.gep32 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep32, align 4 + %wide.load33 = load <4 x float>, ptr %next.gep31, align 4 + %0 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> %wide.load33) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %4 = icmp eq i64 %index.next, 1024 - br i1 %4, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 -define void @vspow_const(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_const ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -50,23 +47,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 and they are different -define void @vspow_neq_const(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_neq_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_neq_const ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -78,23 +73,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 -define void @vspow_neq075_const(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_neq075_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_neq075_const ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -106,23 +99,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is a constant != 0.75 and !=0.25 -define void @vspow_neq025_const(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_neq025_const(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_neq025_const ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -134,23 +125,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.75 -define void @vspow_075(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_075(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_075 ; CHECK-NOT: __powf4_P{{[7,8,9,10]}} ; CHECK: xvrsqrtesp @@ -160,23 +149,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call ninf afn <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call ninf afn <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.25 -define void @vspow_025(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_025(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_025 ; CHECK-NOT: __powf4_P{{[7,8,9,10]}} ; CHECK: xvrsqrtesp @@ -186,23 +173,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call ninf afn nsz <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.75 but no proper fast-math flags -define void @vspow_075_nofast(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_075_nofast(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_075_nofast ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -215,23 +200,21 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void } ; Exponent is 0.25 but no proper fast-math flags -define void @vspow_025_nofast(float* nocapture %y, float* nocapture readonly %x) { +define void @vspow_025_nofast(ptr nocapture %y, ptr nocapture readonly %x) { ; CHECK-LABEL: @vspow_025_nofast ; CHECK-PWR10: __powf4_P10 ; CHECK-PWR9: __powf4_P9 @@ -244,16 +227,14 @@ entry: vector.body: %index = phi i64 [ %index.next, %vector.body ], [ 0, %entry ] - %next.gep = getelementptr float, float* %y, i64 %index - %next.gep19 = getelementptr float, float* %x, i64 %index - %0 = bitcast float* %next.gep19 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %0, align 4 - %1 = call <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) - %2 = bitcast float* %next.gep to <4 x float>* - store <4 x float> %1, <4 x float>* %2, align 4 + %next.gep = getelementptr float, ptr %y, i64 %index + %next.gep19 = getelementptr float, ptr %x, i64 %index + %wide.load = load <4 x float>, ptr %next.gep19, align 4 + %0 = call <4 x float> @__powf4(<4 x float> %wide.load, <4 x float> ) + store <4 x float> %0, ptr %next.gep, align 4 %index.next = add i64 %index, 4 - %3 = icmp eq i64 %index.next, 1024 - br i1 %3, label %for.end, label %vector.body + %1 = icmp eq i64 %index.next, 1024 + br i1 %1, label %for.end, label %vector.body for.end: ret void diff --git a/llvm/test/CodeGen/PowerPC/ppc-32bit-build-vector.ll b/llvm/test/CodeGen/PowerPC/ppc-32bit-build-vector.ll index a46b554..6e6e532 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-32bit-build-vector.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-32bit-build-vector.ll @@ -59,7 +59,7 @@ define dso_local fastcc void @BuildVectorICE() unnamed_addr { while.body: ; preds = %while.body, %entry %newelement = phi i32 [ 0, %entry ], [ %5, %while.body ] %0 = insertelement <4 x i32> , i32 %newelement, i32 0 - %1 = load <4 x i32>, <4 x i32>* undef, align 1 + %1 = load <4 x i32>, ptr undef, align 1 %2 = add <4 x i32> %1, %0 %3 = shufflevector <4 x i32> %2, <4 x i32> undef, <4 x i32> %4 = add <4 x i32> %2, %3 diff --git a/llvm/test/CodeGen/PowerPC/ppc-32bit-shift.ll b/llvm/test/CodeGen/PowerPC/ppc-32bit-shift.ll index 4762cb9..3d5020e 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-32bit-shift.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-32bit-shift.ll @@ -5,7 +5,7 @@ ; RUN: llc -verify-machineinstrs -mtriple=powerpc64 \ ; RUN: -mcpu=pwr9 < %s | FileCheck %s --check-prefix=64BIT -define dso_local void @foo(i32 %inta, i64* %long_intb) { +define dso_local void @foo(i32 %inta, ptr %long_intb) { ; 32BIT-LABEL: foo: ; 32BIT: # %bb.0: # %entry ; 32BIT-NEXT: srawi 5, 3, 31 @@ -24,6 +24,6 @@ define dso_local void @foo(i32 %inta, i64* %long_intb) { entry: %conv = sext i32 %inta to i64 %shl = shl nsw i64 %conv, 8 - store i64 %shl, i64* %long_intb, align 8 + store i64 %shl, ptr %long_intb, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc-ctr-dead-code.ll b/llvm/test/CodeGen/PowerPC/ppc-ctr-dead-code.ll index 2cfbb2d..04944d5 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-ctr-dead-code.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-ctr-dead-code.ll @@ -4,7 +4,7 @@ ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs | FileCheck %s ; Function Attrs: norecurse nounwind readonly -define signext i32 @limit_loop(i32 signext %iters, i32* nocapture readonly %vec, i32 signext %limit) local_unnamed_addr { +define signext i32 @limit_loop(i32 signext %iters, ptr nocapture readonly %vec, i32 signext %limit) local_unnamed_addr { entry: %cmp5 = icmp sgt i32 %iters, 0 br i1 %cmp5, label %for.body.preheader, label %cleanup @@ -19,8 +19,8 @@ for.cond: ; preds = %for.body for.body: ; preds = %for.body.preheader, %for.cond %indvars.iv = phi i64 [ 0, %for.body.preheader ], [ %indvars.iv.next, %for.cond ] - %arrayidx = getelementptr inbounds i32, i32* %vec, i64 %indvars.iv - %1 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %vec, i64 %indvars.iv + %1 = load i32, ptr %arrayidx, align 4 %cmp1 = icmp slt i32 %1, %limit %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 br i1 %cmp1, label %for.cond, label %cleanup diff --git a/llvm/test/CodeGen/PowerPC/ppc-disable-non-volatile-cr.ll b/llvm/test/CodeGen/PowerPC/ppc-disable-non-volatile-cr.ll index 90e4d24..81c667d 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-disable-non-volatile-cr.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-disable-non-volatile-cr.ll @@ -29,11 +29,11 @@ entry: br i1 %cmp, label %if.then, label %if.else if.then: ; preds = %entry - tail call void bitcast (void (...)* @fa to void ()*)() + tail call void @fa() br label %if.end if.else: ; preds = %entry - tail call void bitcast (void (...)* @fb to void ()*)() + tail call void @fb() br label %if.end if.end: ; preds = %if.else, %if.then diff --git a/llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll b/llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll index dbeaa94..5c9bb12 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll @@ -8,21 +8,18 @@ target triple = "powerpc64-unknown-linux-gnu" %struct.fab = type { float, float } ; Function Attrs: nounwind -define void @func_fab(%struct.fab* noalias sret(%struct.fab) %agg.result, i64 %x.coerce) #0 { +define void @func_fab(ptr noalias sret(%struct.fab) %agg.result, i64 %x.coerce) #0 { entry: %x = alloca %struct.fab, align 8 - %0 = bitcast %struct.fab* %x to i64* - store i64 %x.coerce, i64* %0, align 1 - %1 = bitcast %struct.fab* %agg.result to i8* - %2 = bitcast %struct.fab* %x to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %1, i8* align 4 %2, i64 8, i1 false) + store i64 %x.coerce, ptr %x, align 1 + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %agg.result, ptr align 4 %x, i64 8, i1 false) ret void } ; CHECK: func_fab ; Function Attrs: nounwind -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) #1 +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) #1 attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "target-features"="" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/ppc-label.ll b/llvm/test/CodeGen/PowerPC/ppc-label.ll index 4a74b8d..9a4a29a 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-label.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-label.ll @@ -13,7 +13,7 @@ ; }; ; ; unsigned int ret = foo(); -; void* g = (void *) ((unsigned int)&&L + arr[ret]); +; ptr g = (ptr) ((unsigned int)&&L + arr[ret]); ; goto *g; ; ; x: @@ -32,7 +32,7 @@ entry: br label %L L: ; preds = %L, %entry - indirectbr i8* inttoptr (i32 add (i32 ptrtoint (i8* blockaddress(@main, %L) to i32), i32 sub (i32 ptrtoint (i8* blockaddress(@main, %return) to i32), i32 ptrtoint (i8* blockaddress(@main, %L) to i32))) to i8*), [label %return, label %L] + indirectbr ptr inttoptr (i32 add (i32 ptrtoint (ptr blockaddress(@main, %L) to i32), i32 sub (i32 ptrtoint (ptr blockaddress(@main, %return) to i32), i32 ptrtoint (ptr blockaddress(@main, %L) to i32))) to ptr), [label %return, label %L] return: ; preds = %L ret i32 15 diff --git a/llvm/test/CodeGen/PowerPC/ppc-label2.ll b/llvm/test/CodeGen/PowerPC/ppc-label2.ll index 8c69e4e..cedb7b2 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-label2.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-label2.ll @@ -9,7 +9,7 @@ entry: br label %__here __here: ; preds = %entry - ret i64 ptrtoint (i8* blockaddress(@foo, %__here) to i64) + ret i64 ptrtoint (ptr blockaddress(@foo, %__here) to i64) } ; CHECK-PIC32: lwz {{r[0-9]+}}, .LC0-.LTOC(r30) diff --git a/llvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll b/llvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll index 3ee12f4..c4807f5 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll @@ -52,9 +52,9 @@ define dso_local zeroext i32 @testI8(i8 zeroext %val) local_unnamed_addr #0 { ; PWR9-NEXT: li 3, 55 ; PWR9-NEXT: blr entry: - %0 = atomicrmw xchg i8* getelementptr inbounds ({ i8 }, { i8 }* @value8, i64 0, i32 0), i8 %val seq_cst, align 1 + %0 = atomicrmw xchg ptr @value8, i8 %val seq_cst, align 1 %conv = zext i8 %0 to i32 - store i32 %conv, i32* @global_int, align 4 + store i32 %conv, ptr @global_int, align 4 ret i32 55 } @@ -105,9 +105,9 @@ define dso_local zeroext i32 @testI16(i16 zeroext %val) local_unnamed_addr #0 { ; PWR9-NEXT: li 3, 55 ; PWR9-NEXT: blr entry: - %0 = atomicrmw xchg i16* getelementptr inbounds ({ i16 }, { i16 }* @value16, i64 0, i32 0), i16 %val seq_cst, align 2 + %0 = atomicrmw xchg ptr @value16, i16 %val seq_cst, align 2 %conv = zext i16 %0 to i32 - store i32 %conv, i32* @global_int, align 4 + store i32 %conv, ptr @global_int, align 4 ret i32 55 } diff --git a/llvm/test/CodeGen/PowerPC/ppc-prologue.ll b/llvm/test/CodeGen/PowerPC/ppc-prologue.ll index 342728c..289121c 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-prologue.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-prologue.ll @@ -7,20 +7,20 @@ define i32 @_Z4funci(i32 %a) ssp { ; CHECK-NEXT: stw 31, 28(1) ; CHECK: mr 31, 1 entry: - %a_addr = alloca i32 ; [#uses=2] - %retval = alloca i32 ; [#uses=2] - %0 = alloca i32 ; [#uses=2] + %a_addr = alloca i32 ; [#uses=2] + %retval = alloca i32 ; [#uses=2] + %0 = alloca i32 ; [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store i32 %a, i32* %a_addr - %1 = call i32 @_Z3barPi(i32* %a_addr) ; [#uses=1] - store i32 %1, i32* %0, align 4 - %2 = load i32, i32* %0, align 4 ; [#uses=1] - store i32 %2, i32* %retval, align 4 + store i32 %a, ptr %a_addr + %1 = call i32 @_Z3barPi(ptr %a_addr) ; [#uses=1] + store i32 %1, ptr %0, align 4 + %2 = load i32, ptr %0, align 4 ; [#uses=1] + store i32 %2, ptr %retval, align 4 br label %return return: ; preds = %entry - %retval1 = load i32, i32* %retval ; [#uses=1] + %retval1 = load i32, ptr %retval ; [#uses=1] ret i32 %retval1 } -declare i32 @_Z3barPi(i32*) +declare i32 @_Z3barPi(ptr) diff --git a/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll b/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll index 0c63113..5a4aa43 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll @@ -61,8 +61,8 @@ define i32 @foo(i32 %a, i32 %b) { br i1 %tmp2, label %true, label %false true: - store i32 %a, i32* %tmp, align 4 - %tmp4 = call i32 @doSomething(i32 0, i32* %tmp) + store i32 %a, ptr %tmp, align 4 + %tmp4 = call i32 @doSomething(i32 0, ptr %tmp) br label %false false: @@ -71,7 +71,7 @@ false: } ; Function Attrs: optsize -declare i32 @doSomething(i32, i32*) +declare i32 @doSomething(i32, ptr) ; Check that we do not perform the restore inside the loop whereas the save @@ -133,7 +133,7 @@ for.preheader: for.body: ; preds = %entry, %for.body %i.05 = phi i32 [ %inc, %for.body ], [ 0, %for.preheader ] %sum.04 = phi i32 [ %add, %for.body ], [ 0, %for.preheader ] - %call = tail call i32 bitcast (i32 (...)* @something to i32 ()*)() + %call = tail call i32 @something() %add = add nsw i32 %call, %sum.04 %inc = add nuw nsw i32 %i.05, 1 %exitcond = icmp eq i32 %inc, 10 @@ -190,7 +190,7 @@ for.preheader: for.body: ; preds = %for.body, %entry %i.04 = phi i32 [ 0, %for.preheader ], [ %inc, %for.body ] %sum.03 = phi i32 [ 0, %for.preheader ], [ %add, %for.body ] - %call = tail call i32 bitcast (i32 (...)* @something to i32 ()*)() + %call = tail call i32 @something() %add = add nsw i32 %call, %sum.03 %inc = add nuw nsw i32 %i.04, 1 %exitcond = icmp eq i32 %inc, 10 @@ -277,14 +277,14 @@ for.preheader: for.body: ; preds = %entry, %for.body %i.05 = phi i32 [ %inc, %for.body ], [ 0, %for.preheader ] %sum.04 = phi i32 [ %add, %for.body ], [ 0, %for.preheader ] - %call = tail call i32 bitcast (i32 (...)* @something to i32 ()*)() + %call = tail call i32 @something() %add = add nsw i32 %call, %sum.04 %inc = add nuw nsw i32 %i.05, 1 %exitcond = icmp eq i32 %inc, 10 br i1 %exitcond, label %for.end, label %for.body for.end: ; preds = %for.body - tail call void bitcast (void (...)* @somethingElse to void ()*)() + tail call void @somethingElse() %shl = shl i32 %add, 3 br label %if.end @@ -364,13 +364,13 @@ entry: br i1 %tobool, label %if.else, label %if.then if.then: ; preds = %entry - tail call void bitcast (void (...)* @somethingElse to void ()*)() + tail call void @somethingElse() br label %for.body for.body: ; preds = %for.body, %if.then %i.05 = phi i32 [ 0, %if.then ], [ %inc, %for.body ] %sum.04 = phi i32 [ 0, %if.then ], [ %add, %for.body ] - %call = tail call i32 bitcast (i32 (...)* @something to i32 ()*)() + %call = tail call i32 @something() %add = add nsw i32 %call, %sum.04 %inc = add nuw nsw i32 %i.05, 1 %exitcond = icmp eq i32 %inc, 10 @@ -589,9 +589,9 @@ if.then: for.body: ; preds = %for.body, %entry %sum.03 = phi i32 [ 0, %if.then ], [ %add, %for.body ] - %call = tail call i32 bitcast (i32 (...)* @something to i32 ()*)() + %call = tail call i32 @something() %add = add nsw i32 %call, %sum.03 - store i32 %add, i32* %ptr + store i32 %add, ptr %ptr br label %for.body if.end: @@ -613,7 +613,7 @@ for.body: ; preds = %for.body, %entry %sum.03 = phi i32 [ 0, %if.then ], [ %add, %body1 ], [ 1, %body2] %call = tail call i32 asm "mftb $0, 268", "=r,~{r14}"() %add = add nsw i32 %call, %sum.03 - store i32 %add, i32* %ptr + store i32 %add, ptr %ptr br i1 undef, label %body1, label %body2 body1: @@ -639,21 +639,19 @@ body: ; preds = %entry br i1 undef, label %loop2a, label %end loop1: ; preds = %loop2a, %loop2b - %var.phi = phi i32* [ %next.phi, %loop2b ], [ %var, %loop2a ] - %next.phi = phi i32* [ %next.load, %loop2b ], [ %next.var, %loop2a ] - %0 = icmp eq i32* %var, null - %next.load = load i32*, i32** undef + %var.phi = phi ptr [ %next.phi, %loop2b ], [ %var, %loop2a ] + %next.phi = phi ptr [ %next.load, %loop2b ], [ %next.var, %loop2a ] + %0 = icmp eq ptr %var, null + %next.load = load ptr, ptr undef br i1 %0, label %loop2a, label %loop2b loop2a: ; preds = %loop1, %body, %entry - %var = phi i32* [ null, %body ], [ null, %entry ], [ %next.phi, %loop1 ] - %next.var = phi i32* [ undef, %body ], [ null, %entry ], [ %next.load, %loop1 ] + %var = phi ptr [ null, %body ], [ null, %entry ], [ %next.phi, %loop1 ] + %next.var = phi ptr [ undef, %body ], [ null, %entry ], [ %next.load, %loop1 ] br label %loop1 loop2b: ; preds = %loop1 - %gep1 = bitcast i32* %var.phi to i32* - %next.ptr = bitcast i32* %gep1 to i32** - store i32* %next.phi, i32** %next.ptr + store ptr %next.phi, ptr %var.phi br label %loop1 end: @@ -664,8 +662,8 @@ end: @lock = common global i32 0, align 4 @htindex = common global i32 0, align 4 @stride = common global i32 0, align 4 -@ht = common global i32* null, align 8 -@he = common global i8* null, align 8 +@ht = common global ptr null, align 8 +@he = common global ptr null, align 8 ; Test for a bug that was caused when save point was equal to restore point. ; Function Attrs: nounwind @@ -683,26 +681,26 @@ end: ; CHECK: blr define signext i32 @transpose() { entry: - %0 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 1), align 4 + %0 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 1), align 4 %shl.i = shl i32 %0, 7 - %1 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 2), align 4 + %1 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 2), align 4 %or.i = or i32 %shl.i, %1 %shl1.i = shl i32 %or.i, 7 - %2 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 3), align 4 + %2 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 3), align 4 %or2.i = or i32 %shl1.i, %2 - %3 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 7), align 4 + %3 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 7), align 4 %shl3.i = shl i32 %3, 7 - %4 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 6), align 4 + %4 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 6), align 4 %or4.i = or i32 %shl3.i, %4 %shl5.i = shl i32 %or4.i, 7 - %5 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 5), align 4 + %5 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 5), align 4 %or6.i = or i32 %shl5.i, %5 %cmp.i = icmp ugt i32 %or2.i, %or6.i br i1 %cmp.i, label %cond.true.i, label %cond.false.i cond.true.i: %shl7.i = shl i32 %or2.i, 7 - %6 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 4), align 4 + %6 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 4), align 4 %or8.i = or i32 %6, %shl7.i %conv.i = zext i32 %or8.i to i64 %shl9.i = shl nuw nsw i64 %conv.i, 21 @@ -712,7 +710,7 @@ cond.true.i: cond.false.i: %shl12.i = shl i32 %or6.i, 7 - %7 = load i32, i32* getelementptr inbounds ([0 x i32], [0 x i32]* @columns, i64 0, i64 4), align 4 + %7 = load i32, ptr getelementptr inbounds ([0 x i32], ptr @columns, i64 0, i64 4), align 4 %or13.i = or i32 %7, %shl12.i %conv14.i = zext i32 %or13.i to i64 %shl15.i = shl nuw nsw i64 %conv14.i, 21 @@ -724,24 +722,24 @@ hash.exit: %cond.i = phi i64 [ %or11.i, %cond.true.i ], [ %or17.i, %cond.false.i ] %shr.29.i = lshr i64 %cond.i, 17 %conv18.i = trunc i64 %shr.29.i to i32 - store i32 %conv18.i, i32* @lock, align 4 + store i32 %conv18.i, ptr @lock, align 4 %rem.i = srem i64 %cond.i, 1050011 %conv19.i = trunc i64 %rem.i to i32 - store i32 %conv19.i, i32* @htindex, align 4 + store i32 %conv19.i, ptr @htindex, align 4 %rem20.i = urem i32 %conv18.i, 179 %add.i = or i32 %rem20.i, 131072 - store i32 %add.i, i32* @stride, align 4 - %8 = load i32*, i32** @ht, align 8 - %arrayidx = getelementptr inbounds i32, i32* %8, i64 %rem.i - %9 = load i32, i32* %arrayidx, align 4 + store i32 %add.i, ptr @stride, align 4 + %8 = load ptr, ptr @ht, align 8 + %arrayidx = getelementptr inbounds i32, ptr %8, i64 %rem.i + %9 = load i32, ptr %arrayidx, align 4 %cmp1 = icmp eq i32 %9, %conv18.i br i1 %cmp1, label %if.then, label %if.end if.then: %idxprom.lcssa = phi i64 [ %rem.i, %hash.exit ], [ %idxprom.1, %if.end ], [ %idxprom.2, %if.end.1 ], [ %idxprom.3, %if.end.2 ], [ %idxprom.4, %if.end.3 ], [ %idxprom.5, %if.end.4 ], [ %idxprom.6, %if.end.5 ], [ %idxprom.7, %if.end.6 ] - %10 = load i8*, i8** @he, align 8 - %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 %idxprom.lcssa - %11 = load i8, i8* %arrayidx3, align 1 + %10 = load ptr, ptr @he, align 8 + %arrayidx3 = getelementptr inbounds i8, ptr %10, i64 %idxprom.lcssa + %11 = load i8, ptr %arrayidx3, align 1 %conv = sext i8 %11 to i32 br label %cleanup @@ -751,8 +749,8 @@ if.end: %sub = add nsw i32 %add, -1050011 %sub.add = select i1 %cmp4, i32 %sub, i32 %add %idxprom.1 = sext i32 %sub.add to i64 - %arrayidx.1 = getelementptr inbounds i32, i32* %8, i64 %idxprom.1 - %12 = load i32, i32* %arrayidx.1, align 4 + %arrayidx.1 = getelementptr inbounds i32, ptr %8, i64 %idxprom.1 + %12 = load i32, ptr %arrayidx.1, align 4 %cmp1.1 = icmp eq i32 %12, %conv18.i br i1 %cmp1.1, label %if.then, label %if.end.1 @@ -766,8 +764,8 @@ if.end.1: %sub.1 = add nsw i32 %add.1, -1050011 %sub.add.1 = select i1 %cmp4.1, i32 %sub.1, i32 %add.1 %idxprom.2 = sext i32 %sub.add.1 to i64 - %arrayidx.2 = getelementptr inbounds i32, i32* %8, i64 %idxprom.2 - %13 = load i32, i32* %arrayidx.2, align 4 + %arrayidx.2 = getelementptr inbounds i32, ptr %8, i64 %idxprom.2 + %13 = load i32, ptr %arrayidx.2, align 4 %cmp1.2 = icmp eq i32 %13, %conv18.i br i1 %cmp1.2, label %if.then, label %if.end.2 @@ -777,8 +775,8 @@ if.end.2: %sub.2 = add nsw i32 %add.2, -1050011 %sub.add.2 = select i1 %cmp4.2, i32 %sub.2, i32 %add.2 %idxprom.3 = sext i32 %sub.add.2 to i64 - %arrayidx.3 = getelementptr inbounds i32, i32* %8, i64 %idxprom.3 - %14 = load i32, i32* %arrayidx.3, align 4 + %arrayidx.3 = getelementptr inbounds i32, ptr %8, i64 %idxprom.3 + %14 = load i32, ptr %arrayidx.3, align 4 %cmp1.3 = icmp eq i32 %14, %conv18.i br i1 %cmp1.3, label %if.then, label %if.end.3 @@ -788,8 +786,8 @@ if.end.3: %sub.3 = add nsw i32 %add.3, -1050011 %sub.add.3 = select i1 %cmp4.3, i32 %sub.3, i32 %add.3 %idxprom.4 = sext i32 %sub.add.3 to i64 - %arrayidx.4 = getelementptr inbounds i32, i32* %8, i64 %idxprom.4 - %15 = load i32, i32* %arrayidx.4, align 4 + %arrayidx.4 = getelementptr inbounds i32, ptr %8, i64 %idxprom.4 + %15 = load i32, ptr %arrayidx.4, align 4 %cmp1.4 = icmp eq i32 %15, %conv18.i br i1 %cmp1.4, label %if.then, label %if.end.4 @@ -799,8 +797,8 @@ if.end.4: %sub.4 = add nsw i32 %add.4, -1050011 %sub.add.4 = select i1 %cmp4.4, i32 %sub.4, i32 %add.4 %idxprom.5 = sext i32 %sub.add.4 to i64 - %arrayidx.5 = getelementptr inbounds i32, i32* %8, i64 %idxprom.5 - %16 = load i32, i32* %arrayidx.5, align 4 + %arrayidx.5 = getelementptr inbounds i32, ptr %8, i64 %idxprom.5 + %16 = load i32, ptr %arrayidx.5, align 4 %cmp1.5 = icmp eq i32 %16, %conv18.i br i1 %cmp1.5, label %if.then, label %if.end.5 @@ -810,8 +808,8 @@ if.end.5: %sub.5 = add nsw i32 %add.5, -1050011 %sub.add.5 = select i1 %cmp4.5, i32 %sub.5, i32 %add.5 %idxprom.6 = sext i32 %sub.add.5 to i64 - %arrayidx.6 = getelementptr inbounds i32, i32* %8, i64 %idxprom.6 - %17 = load i32, i32* %arrayidx.6, align 4 + %arrayidx.6 = getelementptr inbounds i32, ptr %8, i64 %idxprom.6 + %17 = load i32, ptr %arrayidx.6, align 4 %cmp1.6 = icmp eq i32 %17, %conv18.i br i1 %cmp1.6, label %if.then, label %if.end.6 @@ -821,8 +819,8 @@ if.end.6: %sub.6 = add nsw i32 %add.6, -1050011 %sub.add.6 = select i1 %cmp4.6, i32 %sub.6, i32 %add.6 %idxprom.7 = sext i32 %sub.add.6 to i64 - %arrayidx.7 = getelementptr inbounds i32, i32* %8, i64 %idxprom.7 - %18 = load i32, i32* %arrayidx.7, align 4 + %arrayidx.7 = getelementptr inbounds i32, ptr %8, i64 %idxprom.7 + %18 = load i32, ptr %arrayidx.7, align 4 %cmp1.7 = icmp eq i32 %18, %conv18.i br i1 %cmp1.7, label %if.then, label %cleanup } diff --git a/llvm/test/CodeGen/PowerPC/ppc-vaarg-agg.ll b/llvm/test/CodeGen/PowerPC/ppc-vaarg-agg.ll index 19b85ef..e164c1a 100644 --- a/llvm/test/CodeGen/PowerPC/ppc-vaarg-agg.ll +++ b/llvm/test/CodeGen/PowerPC/ppc-vaarg-agg.ll @@ -2,9 +2,9 @@ target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32" target triple = "powerpc-montavista-linux-gnuspe" -%struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105 = type { i8, i8, i16, i8*, i8* } +%struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105 = type { i8, i8, i16, ptr, ptr } -define fastcc void @test1(%struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105* %args) { +define fastcc void @test1(ptr %args) { entry: br i1 undef, label %repeat, label %maxlen_reached @@ -30,7 +30,7 @@ sw.bb321: ; preds = %repeat unreachable sw.bb323: ; preds = %repeat - %0 = va_arg %struct.__va_list_tag.0.9.18.23.32.41.48.55.62.67.72.77.82.87.90.93.96.101.105* %args, i32 + %0 = va_arg ptr %args, i32 unreachable sw.bb326: ; preds = %repeat diff --git a/llvm/test/CodeGen/PowerPC/ppc32-align-long-double-sf.ll b/llvm/test/CodeGen/PowerPC/ppc32-align-long-double-sf.ll index 740bc78..7fec7e0 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-align-long-double-sf.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-align-long-double-sf.ll @@ -6,15 +6,15 @@ define void @foo() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @x, align 16 - %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i32 0, i32 0), ppc_fp128 %0) + %0 = load ppc_fp128, ptr @x, align 16 + %call = tail call i32 (ptr, ...) @printf(ptr @.str, ppc_fp128 %0) ret void } ; Do not skip register r4 because of register alignment in soft float mode. Instead skipping ; put in r4 part of first argument for printf function (long double). ; CHECK: lwzu 4, x@l({{[0-9]+}}) -declare i32 @printf(i8* nocapture readonly, ...) #0 +declare i32 @printf(ptr nocapture readonly, ...) #0 attributes #0 = { "use-soft-float"="true" } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-constant-BE-ppcf128.ll b/llvm/test/CodeGen/PowerPC/ppc32-constant-BE-ppcf128.ll index c5bb828..a272f9e 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-constant-BE-ppcf128.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-constant-BE-ppcf128.ll @@ -7,7 +7,7 @@ target triple = "powerpc-buildroot-linux-gnu" define i32 @main() #0 { entry: - %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i32 0, i32 0), ppc_fp128 0xM3FF00000000000000000000000000000) + %call = tail call i32 (ptr, ...) @printf(ptr @.str, ppc_fp128 0xM3FF00000000000000000000000000000) ret i32 0 } @@ -18,7 +18,7 @@ entry: ; CHECK: li 5, 0 ; CHECK: li 7, 0 -declare i32 @printf(i8* nocapture readonly, ...) +declare i32 @printf(ptr nocapture readonly, ...) attributes #0 = { "use-soft-float"="true" } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-i1-vaarg.ll b/llvm/test/CodeGen/PowerPC/ppc32-i1-vaarg.ll index ef75444..8a09ab8 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-i1-vaarg.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-i1-vaarg.ll @@ -1,10 +1,10 @@ ; RUN: llc -verify-machineinstrs < %s -mcpu=ppc32 | FileCheck %s target triple = "powerpc-unknown-linux-gnu" -declare void @printf(i8*, ...) +declare void @printf(ptr, ...) define void @main() { - call void (i8*, ...) @printf(i8* undef, i1 false) + call void (ptr, ...) @printf(ptr undef, i1 false) ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-i64-to-float-conv.ll b/llvm/test/CodeGen/PowerPC/ppc32-i64-to-float-conv.ll index 5a7e4c2..ab4753b 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-i64-to-float-conv.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-i64-to-float-conv.ll @@ -15,9 +15,9 @@ define void @foo() local_unnamed_addr { entry: - %0 = load i64, i64* @ll + %0 = load i64, ptr @ll %conv = sitofp i64 %0 to float - store float %conv, float* getelementptr inbounds (%struct.A, %struct.A* @a, i32 0, i32 0) + store float %conv, ptr @a ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll b/llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll index 971ee3f..c9e183c 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll @@ -9,7 +9,7 @@ target triple = "powerpc--netbsd" ; Function Attrs: nounwind uwtable define i32 @fn1() #0 { entry: - %.promoted = load i72, i72* inttoptr (i32 1 to i72*), align 4 + %.promoted = load i72, ptr inttoptr (i32 1 to ptr), align 4 br label %while.cond while.cond: ; preds = %while.cond, %entry @@ -28,7 +28,7 @@ while.cond: ; preds = %while.cond, %entry while.end: ; preds = %while.cond %bf.set.lcssa = phi i72 [ %bf.set, %while.cond ] - store i72 %bf.set.lcssa, i72* inttoptr (i32 1 to i72*), align 4 + store i72 %bf.set.lcssa, ptr inttoptr (i32 1 to ptr), align 4 ret i32 undef } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-nest.ll b/llvm/test/CodeGen/PowerPC/ppc32-nest.ll index b933edc..e581fd5 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-nest.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-nest.ll @@ -5,22 +5,22 @@ target triple = "powerpc-unknown-linux-gnu" ; Tests that the 'nest' parameter attribute causes the relevant parameter to be ; passed in the right register (r11 for PPC). -define i8* @nest_receiver(i8* nest %arg) nounwind { +define ptr @nest_receiver(ptr nest %arg) nounwind { ; CHECK-LABEL: nest_receiver: ; CHECK: # %bb.0: ; CHECK-NEXT: mr 3, 11 ; CHECK-NEXT: blr - ret i8* %arg + ret ptr %arg } -define i8* @nest_caller(i8* %arg) nounwind { +define ptr @nest_caller(ptr %arg) nounwind { ; CHECK-LABEL: nest_caller: ; CHECK: mr 11, 3 ; CHECK-NEXT: bl nest_receiver ; CHECK: blr - %result = call i8* @nest_receiver(i8* nest %arg) - ret i8* %result + %result = call ptr @nest_receiver(ptr nest %arg) + ret ptr %result } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll b/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll index b583f00..45aeb73 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll @@ -16,15 +16,15 @@ declare i32 @call_foo(i32, ...) define i32 @foo() { entry: - %0 = load i32, i32* @bar, align 4 + %0 = load i32, ptr @bar, align 4 %call = call i32 (i32, ...) @call_foo(i32 %0, i32 0, i32 1, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64) ret i32 %0 } define i32 @load() { entry: - %0 = load i32, i32* @bar1 - %1 = load i32, i32* @bar2 + %0 = load i32, ptr @bar1 + %1 = load i32, ptr @bar2 %2 = add i32 %0, %1 ret i32 %2 } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-pic.ll b/llvm/test/CodeGen/PowerPC/ppc32-pic.ll index 4d508b5..aed9941 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-pic.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-pic.ll @@ -8,7 +8,7 @@ declare i32 @call_foo(i32, ...) define i32 @foo() { entry: - %0 = load i32, i32* @bar, align 4 + %0 = load i32, ptr @bar, align 4 %call = call i32 (i32, ...) @call_foo(i32 %0, i32 0, i32 1, i32 2, i32 4, i32 8, i32 16, i32 32, i32 64) ret i32 0 } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll b/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll index 0a94045..4366750 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls.ll @@ -3,7 +3,7 @@ @a = thread_local local_unnamed_addr global i32 6, align 4 define i32 @main() local_unnamed_addr #0 { entry: - %0 = load i32, i32* @a, align 4 + %0 = load i32, ptr @a, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls2.ll b/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls2.ll index 38ebf99..5af0fa3 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls2.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-secure-plt-tls2.ll @@ -3,7 +3,7 @@ @a = thread_local local_unnamed_addr global i32 6, align 4 define i32 @main() local_unnamed_addr #0 { entry: - %0 = load i32, i32* @a, align 4 + %0 = load i32, ptr @a, align 4 ret i32 %0 } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-skip-regs.ll b/llvm/test/CodeGen/PowerPC/ppc32-skip-regs.ll index 5fae34f..3c30447 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-skip-regs.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-skip-regs.ll @@ -8,8 +8,8 @@ target triple = "powerpc-buildroot-linux-gnu" define void @foo() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @x, align 16 - %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str, i32 0, i32 0), ppc_fp128 %0, ppc_fp128 %0) + %0 = load ppc_fp128, ptr @x, align 16 + %call = tail call i32 (ptr, ...) @printf(ptr @.str, ppc_fp128 %0, ppc_fp128 %0) ret void } ; Do not put second argument of function in r8 register, because there is no enough registers @@ -21,6 +21,6 @@ entry: ; CHECK: stw 5, 12(1) ; CHECK: stw 4, 8(1) -declare i32 @printf(i8* nocapture readonly, ...) +declare i32 @printf(ptr nocapture readonly, ...) attributes #0 = { "use-soft-float"="true" } diff --git a/llvm/test/CodeGen/PowerPC/ppc32-vacopy.ll b/llvm/test/CodeGen/PowerPC/ppc32-vacopy.ll index c68881c..60f3852 100644 --- a/llvm/test/CodeGen/PowerPC/ppc32-vacopy.ll +++ b/llvm/test/CodeGen/PowerPC/ppc32-vacopy.ll @@ -1,17 +1,15 @@ ; RUN: llc -verify-machineinstrs -mtriple="powerpc-unknown-linux-gnu" -mcpu=ppc64 < %s | FileCheck %s ; PR15286 -%va_list = type {i8, i8, i16, i8*, i8*} -declare void @llvm.va_copy(i8*, i8*) +%va_list = type {i8, i8, i16, ptr, ptr} +declare void @llvm.va_copy(ptr, ptr) define void @test_vacopy() nounwind { entry: %0 = alloca %va_list %1 = alloca %va_list - %2 = bitcast %va_list* %0 to i8* - %3 = bitcast %va_list* %1 to i8* - call void @llvm.va_copy(i8* %3, i8* %2) + call void @llvm.va_copy(ptr %1, ptr %0) ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll b/llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll index ed8553d..fb4985e 100644 --- a/llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll +++ b/llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll @@ -2,32 +2,28 @@ %0 = type { double, double } -define void @maybe_an_fma(%0* sret(%0) %agg.result, %0* byval(%0) %a, %0* byval(%0) %b, %0* byval(%0) %c) nounwind { +define void @maybe_an_fma(ptr sret(%0) %agg.result, ptr byval(%0) %a, ptr byval(%0) %b, ptr byval(%0) %c) nounwind { entry: - %a.realp = getelementptr inbounds %0, %0* %a, i32 0, i32 0 - %a.real = load double, double* %a.realp - %a.imagp = getelementptr inbounds %0, %0* %a, i32 0, i32 1 - %a.imag = load double, double* %a.imagp - %b.realp = getelementptr inbounds %0, %0* %b, i32 0, i32 0 - %b.real = load double, double* %b.realp - %b.imagp = getelementptr inbounds %0, %0* %b, i32 0, i32 1 - %b.imag = load double, double* %b.imagp + %a.real = load double, ptr %a + %a.imagp = getelementptr inbounds %0, ptr %a, i32 0, i32 1 + %a.imag = load double, ptr %a.imagp + %b.real = load double, ptr %b + %b.imagp = getelementptr inbounds %0, ptr %b, i32 0, i32 1 + %b.imag = load double, ptr %b.imagp %mul.rl = fmul double %a.real, %b.real %mul.rr = fmul double %a.imag, %b.imag %mul.r = fsub double %mul.rl, %mul.rr %mul.il = fmul double %a.imag, %b.real %mul.ir = fmul double %a.real, %b.imag %mul.i = fadd double %mul.il, %mul.ir - %c.realp = getelementptr inbounds %0, %0* %c, i32 0, i32 0 - %c.real = load double, double* %c.realp - %c.imagp = getelementptr inbounds %0, %0* %c, i32 0, i32 1 - %c.imag = load double, double* %c.imagp + %c.real = load double, ptr %c + %c.imagp = getelementptr inbounds %0, ptr %c, i32 0, i32 1 + %c.imag = load double, ptr %c.imagp %add.r = fadd double %mul.r, %c.real %add.i = fadd double %mul.i, %c.imag - %real = getelementptr inbounds %0, %0* %agg.result, i32 0, i32 0 - %imag = getelementptr inbounds %0, %0* %agg.result, i32 0, i32 1 - store double %add.r, double* %real - store double %add.i, double* %imag + %imag = getelementptr inbounds %0, ptr %agg.result, i32 0, i32 1 + store double %add.r, ptr %agg.result + store double %add.i, ptr %imag ret void ; CHECK: fmadd } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll b/llvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll index e99074e..090ab99 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll @@ -21,7 +21,7 @@ define void @modulo_sw(i32 signext %a, i32 signext %b) local_unnamed_addr { entry: %rem = srem i32 %a, %b - store i32 %rem, i32* @mod_resultsw, align 4 + store i32 %rem, ptr @mod_resultsw, align 4 ret void ; CHECK-LABEL: modulo_sw ; CHECK: modsw {{[0-9]+}}, 3, 4 @@ -67,7 +67,7 @@ entry: define void @modulo_ud(i64 %a, i64 %b) local_unnamed_addr { entry: %rem = urem i64 %a, %b - store i64 %rem, i64* @mod_resultud, align 8 + store i64 %rem, ptr @mod_resultud, align 8 ret void ; CHECK-LABEL: modulo_ud ; CHECK: modud {{[0-9]+}}, 3, 4 @@ -83,9 +83,9 @@ entry: define void @modulo_div_sw(i32 signext %a, i32 signext %b) local_unnamed_addr { entry: %rem = srem i32 %a, %b - store i32 %rem, i32* @mod_resultsw, align 4 + store i32 %rem, ptr @mod_resultsw, align 4 %div = sdiv i32 %a, %b - store i32 %div, i32* @div_resultsw, align 4 + store i32 %div, ptr @div_resultsw, align 4 ret void ; CHECK-LABEL: modulo_div_sw ; CHECK: modsw {{[0-9]+}}, 3, 4 @@ -109,9 +109,9 @@ entry: define void @modulo_div_abc_sw(i32 signext %a, i32 signext %b, i32 signext %c) local_unnamed_addr { entry: %rem = srem i32 %a, %c - store i32 %rem, i32* @mod_resultsw, align 4 + store i32 %rem, ptr @mod_resultsw, align 4 %div = sdiv i32 %b, %c - store i32 %div, i32* @div_resultsw, align 4 + store i32 %div, ptr @div_resultsw, align 4 ret void ; CHECK-LABEL: modulo_div_abc_sw ; CHECK: modsw {{[0-9]+}}, 3, 5 @@ -127,9 +127,9 @@ entry: define void @modulo_div_uw(i32 zeroext %a, i32 zeroext %b) local_unnamed_addr { entry: %rem = urem i32 %a, %b - store i32 %rem, i32* @mod_resultuw, align 4 + store i32 %rem, ptr @mod_resultuw, align 4 %div = udiv i32 %a, %b - store i32 %div, i32* @div_resultuw, align 4 + store i32 %div, ptr @div_resultuw, align 4 ret void ; CHECK-LABEL: modulo_div_uw ; CHECK: moduw {{[0-9]+}}, 3, 4 @@ -153,9 +153,9 @@ entry: define void @modulo_div_swuw(i32 signext %a, i32 signext %b) local_unnamed_addr { entry: %rem = srem i32 %a, %b - store i32 %rem, i32* @mod_resultsw, align 4 + store i32 %rem, ptr @mod_resultsw, align 4 %div = udiv i32 %a, %b - store i32 %div, i32* @div_resultsw, align 4 + store i32 %div, ptr @div_resultsw, align 4 ret void ; CHECK-LABEL: modulo_div_swuw ; CHECK: modsw {{[0-9]+}}, 3, 4 @@ -171,9 +171,9 @@ entry: define void @modulo_div_udsd(i64 %a, i64 %b) local_unnamed_addr { entry: %rem = urem i64 %a, %b - store i64 %rem, i64* @mod_resultud, align 8 + store i64 %rem, ptr @mod_resultud, align 8 %div = sdiv i64 %a, %b - store i64 %div, i64* @div_resultsd, align 8 + store i64 %div, ptr @div_resultsd, align 8 ret void ; CHECK-LABEL: modulo_div_udsd ; CHECK: modud {{[0-9]+}}, 3, 4 @@ -189,7 +189,7 @@ entry: define void @modulo_const32_sw(i32 signext %a) local_unnamed_addr { entry: %rem = srem i32 %a, 32 - store i32 %rem, i32* @mod_resultsw, align 4 + store i32 %rem, ptr @mod_resultsw, align 4 ret void ; CHECK-LABEL: modulo_const32_sw ; CHECK-NOT: modsw @@ -247,13 +247,13 @@ entry: define void @blocks_modulo_div_sw(i32 signext %a, i32 signext %b, i32 signext %c) local_unnamed_addr { entry: %div = sdiv i32 %a, %b - store i32 %div, i32* @div_resultsw, align 4 + store i32 %div, ptr @div_resultsw, align 4 %cmp = icmp sgt i32 %c, 0 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry %rem = srem i32 %a, %b - store i32 %rem, i32* @mod_resultsw, align 4 + store i32 %rem, ptr @mod_resultsw, align 4 br label %if.end if.end: ; preds = %if.then, %entry diff --git a/llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll b/llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll index 98856d0..9cb61a3 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll @@ -1369,7 +1369,7 @@ define i64 @setbn3(float %a, float %b) { } ; Verify this case doesn't crash -define void @setbn4(i128 %0, i32* %sel.out) { +define void @setbn4(i128 %0, ptr %sel.out) { ; CHECK-LABEL: setbn4: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: li r6, 1 @@ -1408,6 +1408,6 @@ entry: %c2 = icmp ugt i128 %0, 5192296858534827628530496329220096 %ext = zext i1 %c2 to i32 %sel = select i1 %c1, i32 -1, i32 %ext - store i32 %sel, i32* %sel.out, align 4 + store i32 %sel, ptr %sel.out, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-abi-extend.ll b/llvm/test/CodeGen/PowerPC/ppc64-abi-extend.ll index 38fa2ee..35fcc27 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-abi-extend.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-abi-extend.ll @@ -15,7 +15,7 @@ declare zeroext i32 @ret_ui() define void @pass_arg_si() nounwind { entry: - %0 = load i32, i32* @si, align 4 + %0 = load i32, ptr @si, align 4 tail call void @arg_si(i32 signext %0) nounwind ret void } @@ -25,7 +25,7 @@ entry: define void @pass_arg_ui() nounwind { entry: - %0 = load i32, i32* @ui, align 4 + %0 = load i32, ptr @ui, align 4 tail call void @arg_ui(i32 zeroext %0) nounwind ret void } @@ -53,7 +53,7 @@ entry: define signext i32 @pass_ret_si() nounwind readonly { entry: - %0 = load i32, i32* @si, align 4 + %0 = load i32, ptr @si, align 4 ret i32 %0 } ; CHECK: @pass_ret_si @@ -62,7 +62,7 @@ entry: define zeroext i32 @pass_ret_ui() nounwind readonly { entry: - %0 = load i32, i32* @ui, align 4 + %0 = load i32, ptr @ui, align 4 ret i32 %0 } ; CHECK: @pass_ret_ui diff --git a/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll b/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll index 154be01..23e104f 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll @@ -14,7 +14,7 @@ dmblvi_entry: %0 = tail call <512 x i1> @llvm.ppc.mma.assemble.acc(<16 x i8> zeroinitializer, <16 x i8> undef, <16 x i8> undef, <16 x i8> zeroinitializer) %1 = tail call { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } @llvm.ppc.mma.disassemble.acc(<512 x i1> %0) %2 = extractvalue { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } %1, 2 - store <16 x i8> %2, <16 x i8>* null, align 1 + store <16 x i8> %2, ptr null, align 1 unreachable } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc.ll b/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc.ll index 49f8b43..940075d 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc.ll @@ -9,7 +9,7 @@ %0 = type <{ double }> %1 = type <{ double }> -define void @acc_regalloc(i32* %arg, [0 x %0]* %arg1, [0 x %1]* %arg2) local_unnamed_addr { +define void @acc_regalloc(ptr %arg, ptr %arg1, ptr %arg2) local_unnamed_addr { ; CHECK-LABEL: acc_regalloc: ; CHECK: # %bb.0: # %bb ; CHECK-NEXT: lwz r3, 0(r3) @@ -203,38 +203,32 @@ define void @acc_regalloc(i32* %arg, [0 x %0]* %arg1, [0 x %1]* %arg2) local_unn ; TRACKLIVE-NEXT: stxv vs12, 48(0) ; TRACKLIVE-NEXT: b .LBB0_1 bb: - %i = load i32, i32* %arg, align 4 + %i = load i32, ptr %arg, align 4 %i3 = sext i32 %i to i64 %i4 = shl nsw i64 %i3, 3 - %i5 = bitcast [0 x %0]* %arg1 to i8* - %i6 = getelementptr i8, i8* %i5, i64 undef - %i7 = getelementptr [0 x %1], [0 x %1]* %arg2, i64 0, i64 -8 - %i8 = getelementptr i8, i8* %i6, i64 undef + %i6 = getelementptr i8, ptr %arg1, i64 undef + %i7 = getelementptr [0 x %1], ptr %arg2, i64 0, i64 -8 + %i8 = getelementptr i8, ptr %i6, i64 undef br label %bb9 bb9: ; preds = %bb95, %bb %i10 = phi i64 [ 1, %bb ], [ 0, %bb95 ] - %i11 = getelementptr %1, %1* null, i64 2 - %i12 = bitcast %1* %i11 to <2 x double>* - %i13 = load <2 x double>, <2 x double>* %i12, align 1 + %i11 = getelementptr %1, ptr null, i64 2 + %i13 = load <2 x double>, ptr %i11, align 1 %i14 = add nuw nsw i64 %i10, 2 - %i15 = getelementptr inbounds %1, %1* %i7, i64 undef - %i16 = bitcast %1* %i15 to <2 x double>* - %i17 = load <2 x double>, <2 x double>* %i16, align 1 - %i18 = load <2 x double>, <2 x double>* null, align 1 - %i19 = getelementptr %1, %1* %i15, i64 6 - %i20 = bitcast %1* %i19 to <2 x double>* - %i21 = load <2 x double>, <2 x double>* %i20, align 1 - %i22 = load i64, i64* undef, align 8 + %i15 = getelementptr inbounds %1, ptr %i7, i64 undef + %i17 = load <2 x double>, ptr %i15, align 1 + %i18 = load <2 x double>, ptr null, align 1 + %i19 = getelementptr %1, ptr %i15, i64 6 + %i21 = load <2 x double>, ptr %i19, align 1 + %i22 = load i64, ptr undef, align 8 %i23 = insertelement <2 x i64> poison, i64 %i22, i32 0 %i24 = bitcast <2 x i64> %i23 to <2 x double> %i25 = shufflevector <2 x double> %i24, <2 x double> undef, <2 x i32> zeroinitializer %i26 = mul i64 %i14, %i4 - %i27 = getelementptr i8, i8* null, i64 %i26 - %i28 = getelementptr inbounds i8, i8* %i27, i64 0 - %i29 = getelementptr i8, i8* %i28, i64 16 - %i30 = bitcast i8* %i29 to i64* - %i31 = load i64, i64* %i30, align 8 + %i27 = getelementptr i8, ptr null, i64 %i26 + %i29 = getelementptr i8, ptr %i27, i64 16 + %i31 = load i64, ptr %i29, align 8 %i32 = insertelement <2 x i64> poison, i64 %i31, i32 0 %i33 = bitcast <2 x i64> %i32 to <2 x double> %i34 = shufflevector <2 x double> %i33, <2 x double> undef, <2 x i32> zeroinitializer @@ -311,18 +305,14 @@ bb95: ; preds = %bb82 %i101 = extractvalue { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } %i100, 2 %i102 = tail call { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } @llvm.ppc.mma.disassemble.acc(<512 x i1> %i94) %i103 = extractvalue { <16 x i8>, <16 x i8>, <16 x i8>, <16 x i8> } %i102, 3 - %i104 = getelementptr inbounds i8, i8* %i8, i64 undef - %i105 = bitcast i8* %i104 to <16 x i8>* - store <16 x i8> %i97, <16 x i8>* %i105, align 1 - %i106 = getelementptr i8, i8* %i104, i64 32 - %i107 = bitcast i8* %i106 to <16 x i8>* - store <16 x i8> %i101, <16 x i8>* %i107, align 1 - %i108 = getelementptr i8, i8* null, i64 16 - %i109 = bitcast i8* %i108 to <16 x i8>* - store <16 x i8> %i99, <16 x i8>* %i109, align 1 - %i110 = getelementptr i8, i8* null, i64 48 - %i111 = bitcast i8* %i110 to <16 x i8>* - store <16 x i8> %i103, <16 x i8>* %i111, align 1 + %i104 = getelementptr inbounds i8, ptr %i8, i64 undef + store <16 x i8> %i97, ptr %i104, align 1 + %i106 = getelementptr i8, ptr %i104, i64 32 + store <16 x i8> %i101, ptr %i106, align 1 + %i108 = getelementptr i8, ptr null, i64 16 + store <16 x i8> %i99, ptr %i108, align 1 + %i110 = getelementptr i8, ptr null, i64 48 + store <16 x i8> %i103, ptr %i110, align 1 br label %bb9 } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-align-long-double.ll b/llvm/test/CodeGen/PowerPC/ppc64-align-long-double.ll index 3d5fef6..f6941e1 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-align-long-double.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-align-long-double.ll @@ -18,7 +18,7 @@ target triple = "powerpc64-unknown-linux-gnu" ; value. Since the target does bitcast through memory and we no longer ; remember the address we need to do the store in a fresh local ; address. -define ppc_fp128 @test(%struct.S* byval(%struct.S) %x) nounwind { +define ppc_fp128 @test(ptr byval(%struct.S) %x) nounwind { ; CHECK-LABEL: test: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std 5, -16(1) @@ -53,8 +53,8 @@ define ppc_fp128 @test(%struct.S* byval(%struct.S) %x) nounwind { ; CHECK-P9-NEXT: std 4, 56(1) ; CHECK-P9-NEXT: blr entry: - %b = getelementptr inbounds %struct.S, %struct.S* %x, i32 0, i32 1 - %0 = load ppc_fp128, ppc_fp128* %b, align 16 + %b = getelementptr inbounds %struct.S, ptr %x, i32 0, i32 1 + %0 = load ppc_fp128, ptr %b, align 16 ret ppc_fp128 %0 } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-blnop.ll b/llvm/test/CodeGen/PowerPC/ppc64-blnop.ll index da08390..fdcf1bb 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-blnop.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-blnop.ll @@ -10,9 +10,9 @@ %class.T = type { [2 x i8] } -define void @e_callee(%class.T* %this, i8* %c) { ret void } -define void @e_caller(%class.T* %this, i8* %c) { - call void @e_callee(%class.T* %this, i8* %c) +define void @e_callee(ptr %this, ptr %c) { ret void } +define void @e_caller(ptr %this, ptr %c) { + call void @e_callee(ptr %this, ptr %c) ret void ; CHECK-LABEL: e_caller: @@ -24,9 +24,9 @@ define void @e_caller(%class.T* %this, i8* %c) { ; CHECK-FS-NEXT: nop } -define void @e_scallee(%class.T* %this, i8* %c) section "different" { ret void } -define void @e_scaller(%class.T* %this, i8* %c) { - call void @e_scallee(%class.T* %this, i8* %c) +define void @e_scallee(ptr %this, ptr %c) section "different" { ret void } +define void @e_scaller(ptr %this, ptr %c) { + call void @e_scallee(ptr %this, ptr %c) ret void ; CHECK-LABEL: e_scaller: @@ -34,9 +34,9 @@ define void @e_scaller(%class.T* %this, i8* %c) { ; CHECK-NEXT: nop } -define void @e_s2callee(%class.T* %this, i8* %c) { ret void } -define void @e_s2caller(%class.T* %this, i8* %c) section "different" { - call void @e_s2callee(%class.T* %this, i8* %c) +define void @e_s2callee(ptr %this, ptr %c) { ret void } +define void @e_s2caller(ptr %this, ptr %c) section "different" { + call void @e_s2callee(ptr %this, ptr %c) ret void ; CHECK-LABEL: e_s2caller: @@ -47,9 +47,9 @@ define void @e_s2caller(%class.T* %this, i8* %c) section "different" { $cd1 = comdat any $cd2 = comdat any -define void @e_ccallee(%class.T* %this, i8* %c) comdat($cd1) { ret void } -define void @e_ccaller(%class.T* %this, i8* %c) comdat($cd2) { - call void @e_ccallee(%class.T* %this, i8* %c) +define void @e_ccallee(ptr %this, ptr %c) comdat($cd1) { ret void } +define void @e_ccaller(ptr %this, ptr %c) comdat($cd2) { + call void @e_ccallee(ptr %this, ptr %c) ret void ; CHECK-LABEL: e_ccaller: @@ -59,9 +59,9 @@ define void @e_ccaller(%class.T* %this, i8* %c) comdat($cd2) { $cd = comdat any -define void @e_c1callee(%class.T* %this, i8* %c) comdat($cd) { ret void } -define void @e_c1caller(%class.T* %this, i8* %c) comdat($cd) { - call void @e_c1callee(%class.T* %this, i8* %c) +define void @e_c1callee(ptr %this, ptr %c) comdat($cd) { ret void } +define void @e_c1caller(ptr %this, ptr %c) comdat($cd) { + call void @e_c1callee(ptr %this, ptr %c) ret void ; CHECK-LABEL: e_c1caller: @@ -69,9 +69,9 @@ define void @e_c1caller(%class.T* %this, i8* %c) comdat($cd) { ; CHECK-NEXT: nop } -define weak_odr hidden void @wo_hcallee(%class.T* %this, i8* %c) { ret void } -define void @wo_hcaller(%class.T* %this, i8* %c) { - call void @wo_hcallee(%class.T* %this, i8* %c) +define weak_odr hidden void @wo_hcallee(ptr %this, ptr %c) { ret void } +define void @wo_hcaller(ptr %this, ptr %c) { + call void @wo_hcallee(ptr %this, ptr %c) ret void ; CHECK-LABEL: wo_hcaller: @@ -83,9 +83,9 @@ define void @wo_hcaller(%class.T* %this, i8* %c) { ; SCM-NEXT: nop } -define weak_odr protected void @wo_pcallee(%class.T* %this, i8* %c) { ret void } -define void @wo_pcaller(%class.T* %this, i8* %c) { - call void @wo_pcallee(%class.T* %this, i8* %c) +define weak_odr protected void @wo_pcallee(ptr %this, ptr %c) { ret void } +define void @wo_pcaller(ptr %this, ptr %c) { + call void @wo_pcallee(ptr %this, ptr %c) ret void ; CHECK-LABEL: wo_pcaller: @@ -97,9 +97,9 @@ define void @wo_pcaller(%class.T* %this, i8* %c) { ; SCM-NEXT: nop } -define weak_odr void @wo_callee(%class.T* %this, i8* %c) { ret void } -define void @wo_caller(%class.T* %this, i8* %c) { - call void @wo_callee(%class.T* %this, i8* %c) +define weak_odr void @wo_callee(ptr %this, ptr %c) { ret void } +define void @wo_caller(ptr %this, ptr %c) { + call void @wo_callee(ptr %this, ptr %c) ret void ; CHECK-LABEL: wo_caller: @@ -107,9 +107,9 @@ define void @wo_caller(%class.T* %this, i8* %c) { ; CHECK-NEXT: nop } -define weak protected void @w_pcallee(i8* %ptr) { ret void } -define void @w_pcaller(i8* %ptr) { - call void @w_pcallee(i8* %ptr) +define weak protected void @w_pcallee(ptr %ptr) { ret void } +define void @w_pcaller(ptr %ptr) { + call void @w_pcallee(ptr %ptr) ret void ; CHECK-LABEL: w_pcaller: @@ -121,9 +121,9 @@ define void @w_pcaller(i8* %ptr) { ; SCM-NEXT: nop } -define weak hidden void @w_hcallee(i8* %ptr) { ret void } -define void @w_hcaller(i8* %ptr) { - call void @w_hcallee(i8* %ptr) +define weak hidden void @w_hcallee(ptr %ptr) { ret void } +define void @w_hcaller(ptr %ptr) { + call void @w_hcallee(ptr %ptr) ret void ; CHECK-LABEL: w_hcaller: @@ -135,9 +135,9 @@ define void @w_hcaller(i8* %ptr) { ; SCM-NEXT: nop } -define weak void @w_callee(i8* %ptr) { ret void } -define void @w_caller(i8* %ptr) { - call void @w_callee(i8* %ptr) +define weak void @w_callee(ptr %ptr) { ret void } +define void @w_caller(ptr %ptr) { + call void @w_callee(ptr %ptr) ret void ; CHECK-LABEL: w_caller: diff --git a/llvm/test/CodeGen/PowerPC/ppc64-byval-align.ll b/llvm/test/CodeGen/PowerPC/ppc64-byval-align.ll index 68ae748..46f1622 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-byval-align.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-byval-align.ll @@ -9,7 +9,7 @@ target triple = "powerpc64-unknown-linux-gnu" @gt = common global %struct.test zeroinitializer, align 16 @gp = common global %struct.pad zeroinitializer, align 8 -define signext i32 @callee1(i32 signext %x, %struct.test* byval(%struct.test) align 16 nocapture readnone %y, i32 signext %z) { +define signext i32 @callee1(i32 signext %x, ptr byval(%struct.test) align 16 nocapture readnone %y, i32 signext %z) { entry: ret i32 %z } @@ -17,33 +17,31 @@ entry: ; CHECK: mr 3, 7 ; CHECK: blr -declare signext i32 @test1(i32 signext, %struct.test* byval(%struct.test) align 16, i32 signext) +declare signext i32 @test1(i32 signext, ptr byval(%struct.test) align 16, i32 signext) define void @caller1(i32 signext %z) { entry: - %call = tail call signext i32 @test1(i32 signext 0, %struct.test* byval(%struct.test) align 16 @gt, i32 signext %z) + %call = tail call signext i32 @test1(i32 signext 0, ptr byval(%struct.test) align 16 @gt, i32 signext %z) ret void } ; CHECK-LABEL: @caller1 ; CHECK: mr 7, 3 ; CHECK: bl test1 -define i64 @callee2(%struct.pad* byval(%struct.pad) nocapture readnone %x, i32 signext %y, %struct.test* byval(%struct.test) align 16 nocapture readonly %z) { +define i64 @callee2(ptr byval(%struct.pad) nocapture readnone %x, i32 signext %y, ptr byval(%struct.test) align 16 nocapture readonly %z) { entry: - %x1 = getelementptr inbounds %struct.test, %struct.test* %z, i64 0, i32 0 - %0 = load i64, i64* %x1, align 16 + %0 = load i64, ptr %z, align 16 ret i64 %0 } ; CHECK-LABEL: @callee2 ; CHECK: ld {{[0-9]+}}, 128(1) ; CHECK: blr -declare i64 @test2(%struct.pad* byval(%struct.pad), i32 signext, %struct.test* byval(%struct.test) align 16) +declare i64 @test2(ptr byval(%struct.pad), i32 signext, ptr byval(%struct.test) align 16) define void @caller2(i64 %z) { entry: %tmp = alloca %struct.test, align 16 - %.compoundliteral.sroa.0.0..sroa_idx = getelementptr inbounds %struct.test, %struct.test* %tmp, i64 0, i32 0 - store i64 %z, i64* %.compoundliteral.sroa.0.0..sroa_idx, align 16 - %call = call i64 @test2(%struct.pad* byval(%struct.pad) @gp, i32 signext 0, %struct.test* byval(%struct.test) align 16 %tmp) + store i64 %z, ptr %tmp, align 16 + %call = call i64 @test2(ptr byval(%struct.pad) @gp, i32 signext 0, ptr byval(%struct.test) align 16 %tmp) ret void } ; CHECK-LABEL: @caller2 diff --git a/llvm/test/CodeGen/PowerPC/ppc64-byval-larger-struct.ll b/llvm/test/CodeGen/PowerPC/ppc64-byval-larger-struct.ll index 63e9492..4f79f92 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-byval-larger-struct.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-byval-larger-struct.ll @@ -12,7 +12,7 @@ ; RUN: llc -verify-machineinstrs --mtriple powerpc64-unknown-linux-gnu \ ; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names < %s | FileCheck %s --check-prefix=P10BE -define signext i8 @caller_9([9 x i8]* nocapture readonly byval([9 x i8]) %data) #0 { +define signext i8 @caller_9(ptr nocapture readonly byval([9 x i8]) %data) #0 { ; P8LE-LABEL: caller_9: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -133,47 +133,45 @@ define signext i8 @caller_9([9 x i8]* nocapture readonly byval([9 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [9 x i8], align 1 - %.elt0 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.temp.0.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_9_callee_9([9 x i8]* nocapture readonly byval([9 x i8]) %data) #0 { +define signext i8 @caller_9_callee_9(ptr nocapture readonly byval([9 x i8]) %data) #0 { ; P8LE-LABEL: caller_9_callee_9: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -300,47 +298,45 @@ define signext i8 @caller_9_callee_9([9 x i8]* nocapture readonly byval([9 x i8] ; P10BE-NEXT: blr entry: %_param_data = alloca [9 x i8], align 1 - %.elt0 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [9 x i8], [9 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.temp.0.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [9 x i8], [9 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - call void @callee_9([9 x i8]* nocapture readonly byval([9 x i8]) %data) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [9 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [9 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + call void @callee_9(ptr nocapture readonly byval([9 x i8]) %data) ret i8 0 } -define signext i8 @caller_10([10 x i8]* nocapture readonly byval([10 x i8]) %data) #0 { +define signext i8 @caller_10(ptr nocapture readonly byval([10 x i8]) %data) #0 { ; P8LE-LABEL: caller_10: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -461,51 +457,49 @@ define signext i8 @caller_10([10 x i8]* nocapture readonly byval([10 x i8]) %dat ; P10BE-NEXT: blr entry: %_param_data = alloca [10 x i8], align 1 - %.elt0 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.elt9 = getelementptr inbounds [10 x i8], [10 x i8]* %data, i64 0, i64 9 - %.unpack9 = load i8, i8* %.elt9, align 1 - %.temp.0.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - %.temp.9.gep = getelementptr inbounds [10 x i8], [10 x i8]* %_param_data, i64 0, i64 9 - store i8 %.unpack9, i8* %.temp.9.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + %.elt9 = getelementptr inbounds [10 x i8], ptr %data, i64 0, i64 9 + %.unpack9 = load i8, ptr %.elt9, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + %.temp.9.gep = getelementptr inbounds [10 x i8], ptr %_param_data, i64 0, i64 9 + store i8 %.unpack9, ptr %.temp.9.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_12([12 x i8]* nocapture readonly byval([12 x i8]) %data) #0 { +define signext i8 @caller_12(ptr nocapture readonly byval([12 x i8]) %data) #0 { ; P8LE-LABEL: caller_12: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -626,59 +620,57 @@ define signext i8 @caller_12([12 x i8]* nocapture readonly byval([12 x i8]) %dat ; P10BE-NEXT: blr entry: %_param_data = alloca [12 x i8], align 1 - %.elt0 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.elt9 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 9 - %.unpack9 = load i8, i8* %.elt9, align 1 - %.elt10 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 10 - %.unpack10 = load i8, i8* %.elt10, align 1 - %.elt11 = getelementptr inbounds [12 x i8], [12 x i8]* %data, i64 0, i64 11 - %.unpack11 = load i8, i8* %.elt11, align 1 - %.temp.0.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - %.temp.9.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 9 - store i8 %.unpack9, i8* %.temp.9.gep, align 1 - %.temp.10.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 10 - store i8 %.unpack10, i8* %.temp.10.gep, align 1 - %.temp.11.gep = getelementptr inbounds [12 x i8], [12 x i8]* %_param_data, i64 0, i64 11 - store i8 %.unpack11, i8* %.temp.11.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + %.elt9 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 9 + %.unpack9 = load i8, ptr %.elt9, align 1 + %.elt10 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 10 + %.unpack10 = load i8, ptr %.elt10, align 1 + %.elt11 = getelementptr inbounds [12 x i8], ptr %data, i64 0, i64 11 + %.unpack11 = load i8, ptr %.elt11, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + %.temp.9.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 9 + store i8 %.unpack9, ptr %.temp.9.gep, align 1 + %.temp.10.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 10 + store i8 %.unpack10, ptr %.temp.10.gep, align 1 + %.temp.11.gep = getelementptr inbounds [12 x i8], ptr %_param_data, i64 0, i64 11 + store i8 %.unpack11, ptr %.temp.11.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_14([14 x i8]* nocapture readonly byval([14 x i8]) %data) #0 { +define signext i8 @caller_14(ptr nocapture readonly byval([14 x i8]) %data) #0 { ; P8LE-LABEL: caller_14: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -811,59 +803,57 @@ define signext i8 @caller_14([14 x i8]* nocapture readonly byval([14 x i8]) %dat ; P10BE-NEXT: blr entry: %_param_data = alloca [14 x i8], align 1 - %.elt0 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.elt9 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 9 - %.unpack9 = load i8, i8* %.elt9, align 1 - %.elt10 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 10 - %.unpack10 = load i8, i8* %.elt10, align 1 - %.elt11 = getelementptr inbounds [14 x i8], [14 x i8]* %data, i64 0, i64 11 - %.unpack11 = load i8, i8* %.elt11, align 1 - %.temp.0.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - %.temp.9.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 9 - store i8 %.unpack9, i8* %.temp.9.gep, align 1 - %.temp.10.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 10 - store i8 %.unpack10, i8* %.temp.10.gep, align 1 - %.temp.11.gep = getelementptr inbounds [14 x i8], [14 x i8]* %_param_data, i64 0, i64 11 - store i8 %.unpack11, i8* %.temp.11.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + %.elt9 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 9 + %.unpack9 = load i8, ptr %.elt9, align 1 + %.elt10 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 10 + %.unpack10 = load i8, ptr %.elt10, align 1 + %.elt11 = getelementptr inbounds [14 x i8], ptr %data, i64 0, i64 11 + %.unpack11 = load i8, ptr %.elt11, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + %.temp.9.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 9 + store i8 %.unpack9, ptr %.temp.9.gep, align 1 + %.temp.10.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 10 + store i8 %.unpack10, ptr %.temp.10.gep, align 1 + %.temp.11.gep = getelementptr inbounds [14 x i8], ptr %_param_data, i64 0, i64 11 + store i8 %.unpack11, ptr %.temp.11.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_16([16 x i8]* nocapture readonly byval([16 x i8]) %data) #0 { +define signext i8 @caller_16(ptr nocapture readonly byval([16 x i8]) %data) #0 { ; P8LE-LABEL: caller_16: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -981,59 +971,57 @@ define signext i8 @caller_16([16 x i8]* nocapture readonly byval([16 x i8]) %dat ; P10BE-NEXT: blr entry: %_param_data = alloca [16 x i8], align 1 - %.elt0 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.elt9 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 9 - %.unpack9 = load i8, i8* %.elt9, align 1 - %.elt10 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 10 - %.unpack10 = load i8, i8* %.elt10, align 1 - %.elt11 = getelementptr inbounds [16 x i8], [16 x i8]* %data, i64 0, i64 11 - %.unpack11 = load i8, i8* %.elt11, align 1 - %.temp.0.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - %.temp.9.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 9 - store i8 %.unpack9, i8* %.temp.9.gep, align 1 - %.temp.10.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 10 - store i8 %.unpack10, i8* %.temp.10.gep, align 1 - %.temp.11.gep = getelementptr inbounds [16 x i8], [16 x i8]* %_param_data, i64 0, i64 11 - store i8 %.unpack11, i8* %.temp.11.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + %.elt9 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 9 + %.unpack9 = load i8, ptr %.elt9, align 1 + %.elt10 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 10 + %.unpack10 = load i8, ptr %.elt10, align 1 + %.elt11 = getelementptr inbounds [16 x i8], ptr %data, i64 0, i64 11 + %.unpack11 = load i8, ptr %.elt11, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + %.temp.9.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 9 + store i8 %.unpack9, ptr %.temp.9.gep, align 1 + %.temp.10.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 10 + store i8 %.unpack10, ptr %.temp.10.gep, align 1 + %.temp.11.gep = getelementptr inbounds [16 x i8], ptr %_param_data, i64 0, i64 11 + store i8 %.unpack11, ptr %.temp.11.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_18([18 x i8]* nocapture readonly byval([18 x i8]) %data) #0 { +define signext i8 @caller_18(ptr nocapture readonly byval([18 x i8]) %data) #0 { ; P8LE-LABEL: caller_18: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -1157,62 +1145,60 @@ define signext i8 @caller_18([18 x i8]* nocapture readonly byval([18 x i8]) %dat ; P10BE-NEXT: blr entry: %_param_data = alloca [18 x i8], align 1 - %.elt0 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 0 - %.unpack0 = load i8, i8* %.elt0, align 1 - %.elt1 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 1 - %.unpack1 = load i8, i8* %.elt1, align 1 - %.elt2 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 2 - %.unpack2 = load i8, i8* %.elt2, align 1 - %.elt3 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 3 - %.unpack3 = load i8, i8* %.elt3, align 1 - %.elt4 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 4 - %.unpack4 = load i8, i8* %.elt4, align 1 - %.elt5 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 5 - %.unpack5 = load i8, i8* %.elt5, align 1 - %.elt6 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 6 - %.unpack6 = load i8, i8* %.elt6, align 1 - %.elt7 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 7 - %.unpack7 = load i8, i8* %.elt7, align 1 - %.elt8 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 8 - %.unpack8 = load i8, i8* %.elt8, align 1 - %.elt9 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 9 - %.unpack9 = load i8, i8* %.elt9, align 1 - %.elt10 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 10 - %.unpack10 = load i8, i8* %.elt10, align 1 - %.elt11 = getelementptr inbounds [18 x i8], [18 x i8]* %data, i64 0, i64 11 - %.unpack11 = load i8, i8* %.elt11, align 1 - %.temp.0.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack0, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack1, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack2, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack3, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack4, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack5, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack6, i8* %.temp.6.gep, align 1 - %.temp.7.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 7 - store i8 %.unpack7, i8* %.temp.7.gep, align 1 - %.temp.8.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 8 - store i8 %.unpack8, i8* %.temp.8.gep, align 1 - %.temp.9.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 9 - store i8 %.unpack9, i8* %.temp.9.gep, align 1 - %.temp.10.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 10 - store i8 %.unpack10, i8* %.temp.10.gep, align 1 - %.temp.11.gep = getelementptr inbounds [18 x i8], [18 x i8]* %_param_data, i64 0, i64 11 - store i8 %.unpack11, i8* %.temp.11.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack0 = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 1 + %.unpack1 = load i8, ptr %.elt1, align 1 + %.elt2 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 2 + %.unpack2 = load i8, ptr %.elt2, align 1 + %.elt3 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 3 + %.unpack3 = load i8, ptr %.elt3, align 1 + %.elt4 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 4 + %.unpack4 = load i8, ptr %.elt4, align 1 + %.elt5 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 5 + %.unpack5 = load i8, ptr %.elt5, align 1 + %.elt6 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 6 + %.unpack6 = load i8, ptr %.elt6, align 1 + %.elt7 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 7 + %.unpack7 = load i8, ptr %.elt7, align 1 + %.elt8 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 8 + %.unpack8 = load i8, ptr %.elt8, align 1 + %.elt9 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 9 + %.unpack9 = load i8, ptr %.elt9, align 1 + %.elt10 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 10 + %.unpack10 = load i8, ptr %.elt10, align 1 + %.elt11 = getelementptr inbounds [18 x i8], ptr %data, i64 0, i64 11 + %.unpack11 = load i8, ptr %.elt11, align 1 + store i8 %.unpack0, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack1, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack2, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack3, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack4, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack5, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack6, ptr %.temp.6.gep, align 1 + %.temp.7.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 7 + store i8 %.unpack7, ptr %.temp.7.gep, align 1 + %.temp.8.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 8 + store i8 %.unpack8, ptr %.temp.8.gep, align 1 + %.temp.9.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 9 + store i8 %.unpack9, ptr %.temp.9.gep, align 1 + %.temp.10.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 10 + store i8 %.unpack10, ptr %.temp.10.gep, align 1 + %.temp.11.gep = getelementptr inbounds [18 x i8], ptr %_param_data, i64 0, i64 11 + store i8 %.unpack11, ptr %.temp.11.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -declare void @callee(i8*) local_unnamed_addr #0 -declare void @callee_9([9 x i8]* nocapture readonly byval([9 x i8]) %data) local_unnamed_addr #0 +declare void @callee(ptr) local_unnamed_addr #0 +declare void @callee_9(ptr nocapture readonly byval([9 x i8]) %data) local_unnamed_addr #0 attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-byval-multi-store.ll b/llvm/test/CodeGen/PowerPC/ppc64-byval-multi-store.ll index 7bba52d..8a258c4 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-byval-multi-store.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-byval-multi-store.ll @@ -12,7 +12,7 @@ ; RUN: llc -verify-machineinstrs --mtriple powerpc64-unknown-linux-gnu \ ; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names < %s | FileCheck %s --check-prefix=P10BE -define signext i8 @caller_1([1 x i8]* nocapture readonly byval([1 x i8]) %data) #0 { +define signext i8 @caller_1(ptr nocapture readonly byval([1 x i8]) %data) #0 { ; P8LE-LABEL: caller_1: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -115,15 +115,13 @@ define signext i8 @caller_1([1 x i8]* nocapture readonly byval([1 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [1 x i8], align 1 - %.elt = getelementptr inbounds [1 x i8], [1 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.temp.0.gep = getelementptr inbounds [1 x i8], [1 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_2([2 x i8]* nocapture readonly byval([2 x i8]) %data) #0 { +define signext i8 @caller_2(ptr nocapture readonly byval([2 x i8]) %data) #0 { ; P8LE-LABEL: caller_2: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -226,19 +224,17 @@ define signext i8 @caller_2([2 x i8]* nocapture readonly byval([2 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [2 x i8], align 1 - %.elt = getelementptr inbounds [2 x i8], [2 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.elt1 = getelementptr inbounds [2 x i8], [2 x i8]* %data, i64 0, i64 1 - %.unpack2 = load i8, i8* %.elt1, align 1 - %.temp.0.gep = getelementptr inbounds [2 x i8], [2 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [2 x i8], [2 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack2, i8* %.temp.1.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [2 x i8], ptr %data, i64 0, i64 1 + %.unpack2 = load i8, ptr %.elt1, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [2 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack2, ptr %.temp.1.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_3([3 x i8]* nocapture readonly byval([3 x i8]) %data) #0 { +define signext i8 @caller_3(ptr nocapture readonly byval([3 x i8]) %data) #0 { ; P8LE-LABEL: caller_3: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -365,23 +361,21 @@ define signext i8 @caller_3([3 x i8]* nocapture readonly byval([3 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [3 x i8], align 1 - %.elt = getelementptr inbounds [3 x i8], [3 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.elt1 = getelementptr inbounds [3 x i8], [3 x i8]* %data, i64 0, i64 1 - %.unpack2 = load i8, i8* %.elt1, align 1 - %.elt3 = getelementptr inbounds [3 x i8], [3 x i8]* %data, i64 0, i64 2 - %.unpack4 = load i8, i8* %.elt3, align 1 - %.temp.0.gep = getelementptr inbounds [3 x i8], [3 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [3 x i8], [3 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack2, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [3 x i8], [3 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack4, i8* %.temp.2.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [3 x i8], ptr %data, i64 0, i64 1 + %.unpack2 = load i8, ptr %.elt1, align 1 + %.elt3 = getelementptr inbounds [3 x i8], ptr %data, i64 0, i64 2 + %.unpack4 = load i8, ptr %.elt3, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [3 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack2, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [3 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack4, ptr %.temp.2.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_4([4 x i8]* nocapture readonly byval([4 x i8]) %data) #0 { +define signext i8 @caller_4(ptr nocapture readonly byval([4 x i8]) %data) #0 { ; P8LE-LABEL: caller_4: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -484,27 +478,25 @@ define signext i8 @caller_4([4 x i8]* nocapture readonly byval([4 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [4 x i8], align 1 - %.elt = getelementptr inbounds [4 x i8], [4 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.elt1 = getelementptr inbounds [4 x i8], [4 x i8]* %data, i64 0, i64 1 - %.unpack2 = load i8, i8* %.elt1, align 1 - %.elt3 = getelementptr inbounds [4 x i8], [4 x i8]* %data, i64 0, i64 2 - %.unpack4 = load i8, i8* %.elt3, align 1 - %.elt5 = getelementptr inbounds [4 x i8], [4 x i8]* %data, i64 0, i64 3 - %.unpack6 = load i8, i8* %.elt5, align 1 - %.temp.0.gep = getelementptr inbounds [4 x i8], [4 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [4 x i8], [4 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack2, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [4 x i8], [4 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack4, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [4 x i8], [4 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack6, i8* %.temp.3.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [4 x i8], ptr %data, i64 0, i64 1 + %.unpack2 = load i8, ptr %.elt1, align 1 + %.elt3 = getelementptr inbounds [4 x i8], ptr %data, i64 0, i64 2 + %.unpack4 = load i8, ptr %.elt3, align 1 + %.elt5 = getelementptr inbounds [4 x i8], ptr %data, i64 0, i64 3 + %.unpack6 = load i8, ptr %.elt5, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [4 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack2, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [4 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack4, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [4 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack6, ptr %.temp.3.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_5([5 x i8]* nocapture readonly byval([5 x i8]) %data) #0 { +define signext i8 @caller_5(ptr nocapture readonly byval([5 x i8]) %data) #0 { ; P8LE-LABEL: caller_5: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -625,31 +617,29 @@ define signext i8 @caller_5([5 x i8]* nocapture readonly byval([5 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [5 x i8], align 1 - %.elt = getelementptr inbounds [5 x i8], [5 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.elt1 = getelementptr inbounds [5 x i8], [5 x i8]* %data, i64 0, i64 1 - %.unpack2 = load i8, i8* %.elt1, align 1 - %.elt3 = getelementptr inbounds [5 x i8], [5 x i8]* %data, i64 0, i64 2 - %.unpack4 = load i8, i8* %.elt3, align 1 - %.elt5 = getelementptr inbounds [5 x i8], [5 x i8]* %data, i64 0, i64 3 - %.unpack6 = load i8, i8* %.elt5, align 1 - %.elt7 = getelementptr inbounds [5 x i8], [5 x i8]* %data, i64 0, i64 4 - %.unpack8 = load i8, i8* %.elt7, align 1 - %.temp.0.gep = getelementptr inbounds [5 x i8], [5 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [5 x i8], [5 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack2, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [5 x i8], [5 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack4, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [5 x i8], [5 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack6, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [5 x i8], [5 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack8, i8* %.temp.4.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [5 x i8], ptr %data, i64 0, i64 1 + %.unpack2 = load i8, ptr %.elt1, align 1 + %.elt3 = getelementptr inbounds [5 x i8], ptr %data, i64 0, i64 2 + %.unpack4 = load i8, ptr %.elt3, align 1 + %.elt5 = getelementptr inbounds [5 x i8], ptr %data, i64 0, i64 3 + %.unpack6 = load i8, ptr %.elt5, align 1 + %.elt7 = getelementptr inbounds [5 x i8], ptr %data, i64 0, i64 4 + %.unpack8 = load i8, ptr %.elt7, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [5 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack2, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [5 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack4, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [5 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack6, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [5 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack8, ptr %.temp.4.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_6([6 x i8]* nocapture readonly byval([6 x i8]) %data) #0 { +define signext i8 @caller_6(ptr nocapture readonly byval([6 x i8]) %data) #0 { ; P8LE-LABEL: caller_6: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -776,35 +766,33 @@ define signext i8 @caller_6([6 x i8]* nocapture readonly byval([6 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [6 x i8], align 1 - %.elt = getelementptr inbounds [6 x i8], [6 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.elt1 = getelementptr inbounds [6 x i8], [6 x i8]* %data, i64 0, i64 1 - %.unpack2 = load i8, i8* %.elt1, align 1 - %.elt3 = getelementptr inbounds [6 x i8], [6 x i8]* %data, i64 0, i64 2 - %.unpack4 = load i8, i8* %.elt3, align 1 - %.elt5 = getelementptr inbounds [6 x i8], [6 x i8]* %data, i64 0, i64 3 - %.unpack6 = load i8, i8* %.elt5, align 1 - %.elt7 = getelementptr inbounds [6 x i8], [6 x i8]* %data, i64 0, i64 4 - %.unpack8 = load i8, i8* %.elt7, align 1 - %.elt9 = getelementptr inbounds [6 x i8], [6 x i8]* %data, i64 0, i64 5 - %.unpack10 = load i8, i8* %.elt9, align 1 - %.temp.0.gep = getelementptr inbounds [6 x i8], [6 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [6 x i8], [6 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack2, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [6 x i8], [6 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack4, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [6 x i8], [6 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack6, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [6 x i8], [6 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack8, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [6 x i8], [6 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack10, i8* %.temp.5.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [6 x i8], ptr %data, i64 0, i64 1 + %.unpack2 = load i8, ptr %.elt1, align 1 + %.elt3 = getelementptr inbounds [6 x i8], ptr %data, i64 0, i64 2 + %.unpack4 = load i8, ptr %.elt3, align 1 + %.elt5 = getelementptr inbounds [6 x i8], ptr %data, i64 0, i64 3 + %.unpack6 = load i8, ptr %.elt5, align 1 + %.elt7 = getelementptr inbounds [6 x i8], ptr %data, i64 0, i64 4 + %.unpack8 = load i8, ptr %.elt7, align 1 + %.elt9 = getelementptr inbounds [6 x i8], ptr %data, i64 0, i64 5 + %.unpack10 = load i8, ptr %.elt9, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [6 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack2, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [6 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack4, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [6 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack6, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [6 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack8, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [6 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack10, ptr %.temp.5.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -define signext i8 @caller_7([7 x i8]* nocapture readonly byval([7 x i8]) %data) #0 { +define signext i8 @caller_7(ptr nocapture readonly byval([7 x i8]) %data) #0 { ; P8LE-LABEL: caller_7: ; P8LE: # %bb.0: # %entry ; P8LE-NEXT: mflr r0 @@ -949,38 +937,36 @@ define signext i8 @caller_7([7 x i8]* nocapture readonly byval([7 x i8]) %data) ; P10BE-NEXT: blr entry: %_param_data = alloca [7 x i8], align 1 - %.elt = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 0 - %.unpack = load i8, i8* %.elt, align 1 - %.elt1 = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 1 - %.unpack2 = load i8, i8* %.elt1, align 1 - %.elt3 = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 2 - %.unpack4 = load i8, i8* %.elt3, align 1 - %.elt5 = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 3 - %.unpack6 = load i8, i8* %.elt5, align 1 - %.elt7 = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 4 - %.unpack8 = load i8, i8* %.elt7, align 1 - %.elt9 = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 5 - %.unpack10 = load i8, i8* %.elt9, align 1 - %.elt11 = getelementptr inbounds [7 x i8], [7 x i8]* %data, i64 0, i64 6 - %.unpack12 = load i8, i8* %.elt11, align 1 - %.temp.0.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 0 - store i8 %.unpack, i8* %.temp.0.gep, align 1 - %.temp.1.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 1 - store i8 %.unpack2, i8* %.temp.1.gep, align 1 - %.temp.2.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 2 - store i8 %.unpack4, i8* %.temp.2.gep, align 1 - %.temp.3.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 3 - store i8 %.unpack6, i8* %.temp.3.gep, align 1 - %.temp.4.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 4 - store i8 %.unpack8, i8* %.temp.4.gep, align 1 - %.temp.5.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 5 - store i8 %.unpack10, i8* %.temp.5.gep, align 1 - %.temp.6.gep = getelementptr inbounds [7 x i8], [7 x i8]* %_param_data, i64 0, i64 6 - store i8 %.unpack12, i8* %.temp.6.gep, align 1 - call void @callee(i8* nonnull %.temp.0.gep) + %.unpack = load i8, ptr %data, align 1 + %.elt1 = getelementptr inbounds [7 x i8], ptr %data, i64 0, i64 1 + %.unpack2 = load i8, ptr %.elt1, align 1 + %.elt3 = getelementptr inbounds [7 x i8], ptr %data, i64 0, i64 2 + %.unpack4 = load i8, ptr %.elt3, align 1 + %.elt5 = getelementptr inbounds [7 x i8], ptr %data, i64 0, i64 3 + %.unpack6 = load i8, ptr %.elt5, align 1 + %.elt7 = getelementptr inbounds [7 x i8], ptr %data, i64 0, i64 4 + %.unpack8 = load i8, ptr %.elt7, align 1 + %.elt9 = getelementptr inbounds [7 x i8], ptr %data, i64 0, i64 5 + %.unpack10 = load i8, ptr %.elt9, align 1 + %.elt11 = getelementptr inbounds [7 x i8], ptr %data, i64 0, i64 6 + %.unpack12 = load i8, ptr %.elt11, align 1 + store i8 %.unpack, ptr %_param_data, align 1 + %.temp.1.gep = getelementptr inbounds [7 x i8], ptr %_param_data, i64 0, i64 1 + store i8 %.unpack2, ptr %.temp.1.gep, align 1 + %.temp.2.gep = getelementptr inbounds [7 x i8], ptr %_param_data, i64 0, i64 2 + store i8 %.unpack4, ptr %.temp.2.gep, align 1 + %.temp.3.gep = getelementptr inbounds [7 x i8], ptr %_param_data, i64 0, i64 3 + store i8 %.unpack6, ptr %.temp.3.gep, align 1 + %.temp.4.gep = getelementptr inbounds [7 x i8], ptr %_param_data, i64 0, i64 4 + store i8 %.unpack8, ptr %.temp.4.gep, align 1 + %.temp.5.gep = getelementptr inbounds [7 x i8], ptr %_param_data, i64 0, i64 5 + store i8 %.unpack10, ptr %.temp.5.gep, align 1 + %.temp.6.gep = getelementptr inbounds [7 x i8], ptr %_param_data, i64 0, i64 6 + store i8 %.unpack12, ptr %.temp.6.gep, align 1 + call void @callee(ptr nonnull %_param_data) ret i8 0 } -declare void @callee(i8*) local_unnamed_addr #0 +declare void @callee(ptr) local_unnamed_addr #0 attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-calls.ll b/llvm/test/CodeGen/PowerPC/ppc64-calls.ll index 8975c72..321b5bd 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-calls.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-calls.ll @@ -39,7 +39,7 @@ define dso_local void @test_weak() nounwind readnone { } ; Indirect calls requires a full stub creation -define dso_local void @test_indirect(void ()* nocapture %fp) nounwind { +define dso_local void @test_indirect(ptr nocapture %fp) nounwind { ; CHECK-LABEL: test_indirect: tail call void %fp() nounwind ; CHECK: ld [[FP:[0-9]+]], 0(3) @@ -56,7 +56,7 @@ define dso_local void @test_indirect(void ()* nocapture %fp) nounwind { ; used on 64-bit SVR4 (as e.g. on Darwin). define dso_local void @test_abs() nounwind { ; CHECK-LABEL: test_abs: - tail call void inttoptr (i64 1024 to void ()*)() nounwind + tail call void inttoptr (i64 1024 to ptr)() nounwind ; CHECK: ld [[FP:[0-9]+]], 1024(0) ; CHECK: ld 11, 1040(0) ; CHECK: ld 2, 1032(0) @@ -79,10 +79,10 @@ define double @test_external(double %x) nounwind { ; The 'ld 2, 40(1)' really must always come directly after the bctrl to make ; the unwinding code in libgcc happy. -@g = external global void ()* +@g = external global ptr declare void @h(i64) define dso_local void @test_indir_toc_reload(i64 %x) { - %1 = load void ()*, void ()** @g + %1 = load ptr, ptr @g call void %1() call void @h(i64 %x) ret void diff --git a/llvm/test/CodeGen/PowerPC/ppc64-crash.ll b/llvm/test/CodeGen/PowerPC/ppc64-crash.ll index 4431f0c..b5d925b 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-crash.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-crash.ll @@ -8,7 +8,7 @@ target triple = "powerpc64-unknown-freebsd" %struct.pos_T = type { i64 } ; check that we're not copying stuff between R and X registers -define internal void @serialize_pos(%struct.pos_T* byval(%struct.pos_T) %pos, %struct.__sFILE* %fp) nounwind { +define internal void @serialize_pos(ptr byval(%struct.pos_T) %pos, ptr %fp) nounwind { entry: ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-func-desc-hoist.ll b/llvm/test/CodeGen/PowerPC/ppc64-func-desc-hoist.ll index 2e40664..0df66ff 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-func-desc-hoist.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-func-desc-hoist.ll @@ -4,9 +4,8 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind -define void @bar(void (...)* nocapture %x) #0 { +define void @bar(ptr nocapture %x) #0 { entry: - %callee.knr.cast = bitcast void (...)* %x to void ()* br label %for.body ; INVFUNCDESC-LABEL: @bar @@ -32,7 +31,7 @@ entry: for.body: ; preds = %for.body, %entry %i.02 = phi i32 [ 0, %entry ], [ %inc, %for.body ] - tail call void %callee.knr.cast() #0 + tail call void %x() #0 %inc = add nuw nsw i32 %i.02, 1 %exitcond = icmp eq i32 %inc, 1600000000 br i1 %exitcond, label %for.end, label %for.body diff --git a/llvm/test/CodeGen/PowerPC/ppc64-get-cache-line-size.ll b/llvm/test/CodeGen/PowerPC/ppc64-get-cache-line-size.ll index 0a3dc4e..1a00600 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-get-cache-line-size.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-get-cache-line-size.ll @@ -9,8 +9,8 @@ ; Function Attrs: nounwind define signext i32 @check_cache_line() local_unnamed_addr { entry: - %call = tail call i32* bitcast (i32* (...)* @magici to i32* ()*)() - %call115 = tail call signext i32 bitcast (i32 (...)* @iter to i32 ()*)() + %call = tail call ptr @magici() + %call115 = tail call signext i32 @iter() %cmp16 = icmp sgt i32 %call115, 0 br i1 %cmp16, label %for.body, label %for.cond.cleanup @@ -21,15 +21,15 @@ for.cond.cleanup: ; preds = %for.body, %entry for.body: ; preds = %entry, %for.body %indvars.iv = phi i64 [ %indvars.iv.next, %for.body ], [ 0, %entry ] %res.017 = phi i32 [ %add5, %for.body ], [ 0, %entry ] - %arrayidx = getelementptr inbounds i32, i32* %call, i64 %indvars.iv - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %call, i64 %indvars.iv + %0 = load i32, ptr %arrayidx, align 4 %add = add nsw i32 %0, %res.017 %1 = add nuw nsw i64 %indvars.iv, 16 - %arrayidx4 = getelementptr inbounds i32, i32* %call, i64 %1 - %2 = load i32, i32* %arrayidx4, align 4 + %arrayidx4 = getelementptr inbounds i32, ptr %call, i64 %1 + %2 = load i32, ptr %arrayidx4, align 4 %add5 = add nsw i32 %add, %2 %indvars.iv.next = add nuw i64 %indvars.iv, 1 - %call1 = tail call signext i32 bitcast (i32 (...)* @iter to i32 ()*)() + %call1 = tail call signext i32 @iter() %3 = sext i32 %call1 to i64 %cmp = icmp slt i64 %indvars.iv.next, %3 br i1 %cmp, label %for.body, label %for.cond.cleanup @@ -43,7 +43,7 @@ for.body: ; preds = %entry, %for.body ; CHECK-DCBT: blr } -declare i32* @magici(...) local_unnamed_addr +declare ptr @magici(...) local_unnamed_addr declare signext i32 @iter(...) local_unnamed_addr diff --git a/llvm/test/CodeGen/PowerPC/ppc64-i128-abi.ll b/llvm/test/CodeGen/PowerPC/ppc64-i128-abi.ll index b533355..d456284 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-i128-abi.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-i128-abi.ll @@ -212,7 +212,7 @@ define i128 @i128_increment_by_val(i128 %a, i128 %b) nounwind { ; callee. See comments for individual functions above for details on registers ; used for parameters. define <1 x i128> @call_v1i128_increment_by_one() nounwind { - %tmp = load <1 x i128>, <1 x i128>* @x, align 16 + %tmp = load <1 x i128>, ptr @x, align 16 %ret = call <1 x i128> @v1i128_increment_by_one(<1 x i128> %tmp) ret <1 x i128> %ret @@ -241,8 +241,8 @@ define <1 x i128> @call_v1i128_increment_by_one() nounwind { } define <1 x i128> @call_v1i128_increment_by_val() nounwind { - %tmp = load <1 x i128>, <1 x i128>* @x, align 16 - %tmp2 = load <1 x i128>, <1 x i128>* @y, align 16 + %tmp = load <1 x i128>, ptr @x, align 16 + %tmp2 = load <1 x i128>, ptr @y, align 16 %ret = call <1 x i128> @v1i128_increment_by_val(<1 x i128> %tmp, <1 x i128> %tmp2) ret <1 x i128> %ret @@ -280,7 +280,7 @@ define <1 x i128> @call_v1i128_increment_by_val() nounwind { } define i128 @call_i128_increment_by_one() nounwind { - %tmp = load i128, i128* @a, align 16 + %tmp = load i128, ptr @a, align 16 %ret = call i128 @i128_increment_by_one(i128 %tmp) ret i128 %ret ; %ret4 = call i128 @i128_increment_by_val(i128 %tmp2, i128 %tmp2) @@ -304,8 +304,8 @@ define i128 @call_i128_increment_by_one() nounwind { } define i128 @call_i128_increment_by_val() nounwind { - %tmp = load i128, i128* @a, align 16 - %tmp2 = load i128, i128* @b, align 16 + %tmp = load i128, ptr @a, align 16 + %tmp2 = load i128, ptr @b, align 16 %ret = call i128 @i128_increment_by_val(i128 %tmp, i128 %tmp2) ret i128 %ret ; CHECK-LE-LABEL: @call_i128_increment_by_val @@ -363,8 +363,8 @@ entry: define i128 @i128_split() { entry: - %0 = load i128, i128* @a, align 16 - %1 = load i128, i128* @b, align 16 + %0 = load i128, ptr @a, align 16 + %1 = load i128, ptr @b, align 16 %call = tail call i128 @callee_i128_split(i32 1, i128 %0, i32 4, i32 5, i32 6, i32 7, i128 %1, i32 8, i128 9) ret i128 %call diff --git a/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll b/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll index e0ff14e..760f08c 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr7.ll @@ -2,11 +2,11 @@ ; Based on the ppc64-prefetch.ll test ; RUN: not --crash llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 < %s 2>&1 | FileCheck %s -declare void @llvm.prefetch(i8*, i32, i32, i32) +declare void @llvm.prefetch(ptr, i32, i32, i32) -define void @test(i8* %a, ...) nounwind { +define void @test(ptr %a, ...) nounwind { entry: - call void @llvm.prefetch(i8* %a, i32 0, i32 3, i32 0) + call void @llvm.prefetch(ptr %a, i32 0, i32 3, i32 0) ret void ; FIXME: Crashing is not really the correct behavior here, we really should just emit nothing diff --git a/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr8.ll b/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr8.ll index 3441b58..f932056 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr8.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-icbt-pwr8.ll @@ -2,11 +2,11 @@ ; Copied from the ppc64-prefetch.ll test ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck %s -declare void @llvm.prefetch(i8*, i32, i32, i32) +declare void @llvm.prefetch(ptr, i32, i32, i32) -define void @test(i8* %a, ...) nounwind { +define void @test(ptr %a, ...) nounwind { entry: - call void @llvm.prefetch(i8* %a, i32 0, i32 3, i32 0) + call void @llvm.prefetch(ptr %a, i32 0, i32 3, i32 0) ret void ; CHECK-LABEL: @test diff --git a/llvm/test/CodeGen/PowerPC/ppc64-nest.ll b/llvm/test/CodeGen/PowerPC/ppc64-nest.ll index cd2366c..32b85f5 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-nest.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-nest.ll @@ -5,26 +5,26 @@ target triple = "powerpc64-unknown-linux-gnu" ; Tests that the 'nest' parameter attribute causes the relevant parameter to be ; passed in the right register (r11 for PPC). -define i8* @nest_receiver(i8* nest %arg) nounwind { +define ptr @nest_receiver(ptr nest %arg) nounwind { ; CHECK-LABEL: nest_receiver: ; CHECK: # %bb.0: ; CHECK-NEXT: mr 3, 11 ; CHECK-NEXT: blr - ret i8* %arg + ret ptr %arg } -define i8* @nest_caller(i8* %arg) nounwind { +define ptr @nest_caller(ptr %arg) nounwind { ; CHECK-LABEL: nest_caller: ; CHECK: mr 11, 3 ; CHECK-NEXT: bl nest_receiver ; CHECK: blr - %result = call i8* @nest_receiver(i8* nest %arg) - ret i8* %result + %result = call ptr @nest_receiver(ptr nest %arg) + ret ptr %result } -define void @test_indirect(i32 ()* nocapture %f, i8* %p) { +define void @test_indirect(ptr nocapture %f, ptr %p) { entry: ; CHECK-LABEL: test_indirect @@ -35,8 +35,7 @@ entry: ; CHECK: bctrl ; CHECK: blr - %callee.knr.cast = bitcast i32 ()* %f to i32 (i8*)* - %call = tail call signext i32 %callee.knr.cast(i8* nest %p) + %call = tail call signext i32 %f(ptr nest %p) ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-nonfunc-calls.ll b/llvm/test/CodeGen/PowerPC/ppc64-nonfunc-calls.ll index 7d1c235..8962e55 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-nonfunc-calls.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-nonfunc-calls.ll @@ -11,7 +11,7 @@ target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind define dso_local void @foo() #0 { entry: - tail call void bitcast ([33 x i8]* @something to void ()*)() #0 + tail call void @something() #0 ret void ; CHECK-LABEL: @foo @@ -30,7 +30,7 @@ entry: ; Function Attrs: nounwind define dso_local void @bar() #0 { entry: - tail call void bitcast (%struct.cd* @tls_something to void ()*)() #0 + tail call void @tls_something() #0 ret void ; CHECK-LABEL: @bar @@ -49,7 +49,7 @@ entry: ; Function Attrs: nounwind define dso_local void @ext() #0 { entry: - tail call void bitcast (%struct.cd* @extern_something to void ()*)() #0 + tail call void @extern_something() #0 ret void ; CHECK-LABEL: @ext diff --git a/llvm/test/CodeGen/PowerPC/ppc64-pre-inc-no-extra-phi.ll b/llvm/test/CodeGen/PowerPC/ppc64-pre-inc-no-extra-phi.ll index ab84707..a866cb8 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-pre-inc-no-extra-phi.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-pre-inc-no-extra-phi.ll @@ -11,14 +11,14 @@ entry: while.cond: %l.0 = phi i64 [ 0, %entry ], [ %inc, %while.cond ] - %arrayidx = getelementptr inbounds [100 x i64], [100 x i64]* @perm, i64 0, i64 %l.0 - %0 = load i64, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds [100 x i64], ptr @perm, i64 0, i64 %l.0 + %0 = load i64, ptr %arrayidx, align 8 %cmp = icmp sgt i64 %0, 0 %inc = add nuw nsw i64 %l.0, 1 br i1 %cmp, label %while.cond, label %while.end while.end: - store i64 0, i64* %arrayidx, align 8 + store i64 0, ptr %arrayidx, align 8 ret void ; CHECK-LABEL: sort_basket ; CHECK: addi {{[0-9]+}}, {{[0-9]+}}, -8 diff --git a/llvm/test/CodeGen/PowerPC/ppc64-prefetch.ll b/llvm/test/CodeGen/PowerPC/ppc64-prefetch.ll index 044a2e4..7d5f591 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-prefetch.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-prefetch.ll @@ -2,29 +2,29 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 target triple = "powerpc64-unknown-linux-gnu" ; RUN: llc -verify-machineinstrs -mcpu=a2 < %s | FileCheck %s -define void @test1(i8* %a, ...) nounwind { +define void @test1(ptr %a, ...) nounwind { entry: - call void @llvm.prefetch(i8* %a, i32 0, i32 3, i32 1) + call void @llvm.prefetch(ptr %a, i32 0, i32 3, i32 1) ret void ; CHECK-LABEL: @test1 ; CHECK: dcbt } -declare void @llvm.prefetch(i8*, i32, i32, i32) +declare void @llvm.prefetch(ptr, i32, i32, i32) -define void @test2(i8* %a, ...) nounwind { +define void @test2(ptr %a, ...) nounwind { entry: - call void @llvm.prefetch(i8* %a, i32 1, i32 3, i32 1) + call void @llvm.prefetch(ptr %a, i32 1, i32 3, i32 1) ret void ; CHECK-LABEL: @test2 ; CHECK: dcbtst } -define void @test3(i8* %a, ...) nounwind { +define void @test3(ptr %a, ...) nounwind { entry: - call void @llvm.prefetch(i8* %a, i32 0, i32 3, i32 0) + call void @llvm.prefetch(ptr %a, i32 0, i32 3, i32 0) ret void ; CHECK-LABEL: @test3 diff --git a/llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll b/llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll index 5bae2d7..a56636a 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll @@ -276,7 +276,7 @@ entry: ;; outside of the initial 288 byte volatile program storage region in the ;; Protected Zone. However, this restriction will be removed in an upcoming ;; revision of the ABI. -define dso_local zeroext i32 @spill(i32* nocapture readonly %in) #0 { +define dso_local zeroext i32 @spill(ptr nocapture readonly %in) #0 { ; BE-P10-LABEL: spill: ; BE-P10: # %bb.0: # %entry ; BE-P10-NEXT: mflr r0 @@ -1904,21 +1904,20 @@ define dso_local zeroext i32 @spill(i32* nocapture readonly %in) #0 { ; BE-32BIT-P8-PRIV-NEXT: blr entry: %local = alloca i32, align 4 - %0 = bitcast i32* %local to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) - %arrayidx = getelementptr inbounds i32, i32* %in, i64 3 - %1 = load i32, i32* %arrayidx, align 4 - store i32 %1, i32* %local, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local) + %arrayidx = getelementptr inbounds i32, ptr %in, i64 3 + %0 = load i32, ptr %arrayidx, align 4 + store i32 %0, ptr %local, align 4 tail call void asm sideeffect "nop", "~{cr2},~{cr3},~{cr4},~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{r13},~{r14},~{r15},~{r16},~{r17},~{r18},~{r19},~{r20},~{r21},~{r22},~{r23},~{r24},~{r25},~{r26},~{r27},~{r28},~{r29},~{r30},~{r31},~{f14},~{f15},~{f16},~{f17},~{f18},~{f19},~{f20},~{f21},~{f22},~{f23},~{f24},~{f25},~{f26},~{f27},~{f28},~{f29},~{f30},~{f31},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"() - %call = call zeroext i32 @callee2(i32* nonnull %local) - %arrayidx1 = getelementptr inbounds i32, i32* %in, i64 4 - %2 = load i32, i32* %arrayidx1, align 4 - %add = add i32 %2, %call - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) + %call = call zeroext i32 @callee2(ptr nonnull %local) + %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4 + %1 = load i32, ptr %arrayidx1, align 4 + %add = add i32 %1, %call + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local) ret i32 %add } -define dso_local zeroext i32 @shrinkwrap(i32* readonly %in) #0 { +define dso_local zeroext i32 @shrinkwrap(ptr readonly %in) #0 { ; BE-P10-LABEL: shrinkwrap: ; BE-P10: # %bb.0: # %entry ; BE-P10-NEXT: cmpldi r3, 0 @@ -2262,20 +2261,19 @@ define dso_local zeroext i32 @shrinkwrap(i32* readonly %in) #0 { ; BE-32BIT-P8-PRIV-NEXT: blr entry: %local = alloca i32, align 4 - %tobool.not = icmp eq i32* %in, null + %tobool.not = icmp eq ptr %in, null br i1 %tobool.not, label %return, label %if.end if.end: ; preds = %entry - %0 = bitcast i32* %local to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) - %arrayidx = getelementptr inbounds i32, i32* %in, i64 3 - %1 = load i32, i32* %arrayidx, align 4 - store i32 %1, i32* %local, align 4 - %call = call zeroext i32 @callee2(i32* nonnull %local) - %arrayidx1 = getelementptr inbounds i32, i32* %in, i64 4 - %2 = load i32, i32* %arrayidx1, align 4 - %add = add i32 %2, %call - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local) + %arrayidx = getelementptr inbounds i32, ptr %in, i64 3 + %0 = load i32, ptr %arrayidx, align 4 + store i32 %0, ptr %local, align 4 + %call = call zeroext i32 @callee2(ptr nonnull %local) + %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4 + %1 = load i32, ptr %arrayidx1, align 4 + %add = add i32 %1, %call + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local) br label %return return: ; preds = %entry, %if.end @@ -2283,7 +2281,7 @@ return: ; preds = %entry, %if.end ret i32 %retval.0 } -define dso_local zeroext i32 @aligned(i32* nocapture readonly %in) #0 { +define dso_local zeroext i32 @aligned(ptr nocapture readonly %in) #0 { ; BE-P10-LABEL: aligned: ; BE-P10: # %bb.0: # %entry ; BE-P10-NEXT: mflr r0 @@ -2797,35 +2795,32 @@ entry: %beforeLocal = alloca i32, align 4 %local = alloca i32, align 32768 %afterLocal = alloca i32, align 4 - %0 = bitcast i32* %beforeLocal to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) - %arrayidx = getelementptr inbounds i32, i32* %in, i64 1 - %1 = load i32, i32* %arrayidx, align 4 - store i32 %1, i32* %beforeLocal, align 4 - %2 = bitcast i32* %local to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %2) - %arrayidx1 = getelementptr inbounds i32, i32* %in, i64 3 - %3 = load i32, i32* %arrayidx1, align 4 - store i32 %3, i32* %local, align 32768 - %4 = bitcast i32* %afterLocal to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %4) - %arrayidx2 = getelementptr inbounds i32, i32* %in, i64 5 - %5 = load i32, i32* %arrayidx2, align 4 - store i32 %5, i32* %afterLocal, align 4 - %call = call zeroext i32 @callee3(i32* nonnull %local, i32* nonnull %beforeLocal, i32* nonnull %afterLocal) - %arrayidx3 = getelementptr inbounds i32, i32* %in, i64 4 - %6 = load i32, i32* %arrayidx3, align 4 - %add = add i32 %6, %call - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %4) - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %2) - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %beforeLocal) + %arrayidx = getelementptr inbounds i32, ptr %in, i64 1 + %0 = load i32, ptr %arrayidx, align 4 + store i32 %0, ptr %beforeLocal, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local) + %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 3 + %1 = load i32, ptr %arrayidx1, align 4 + store i32 %1, ptr %local, align 32768 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %afterLocal) + %arrayidx2 = getelementptr inbounds i32, ptr %in, i64 5 + %2 = load i32, ptr %arrayidx2, align 4 + store i32 %2, ptr %afterLocal, align 4 + %call = call zeroext i32 @callee3(ptr nonnull %local, ptr nonnull %beforeLocal, ptr nonnull %afterLocal) + %arrayidx3 = getelementptr inbounds i32, ptr %in, i64 4 + %3 = load i32, ptr %arrayidx3, align 4 + %add = add i32 %3, %call + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %afterLocal) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %beforeLocal) ret i32 %add } declare zeroext i32 @callee(i32 zeroext) local_unnamed_addr -declare zeroext i32 @callee2(i32*) local_unnamed_addr -declare zeroext i32 @callee3(i32*, i32*, i32*) local_unnamed_addr -declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) -declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) +declare zeroext i32 @callee2(ptr) local_unnamed_addr +declare zeroext i32 @callee3(ptr, ptr, ptr) local_unnamed_addr +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll b/llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll index 958347c..f7f2f4b 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll @@ -413,7 +413,7 @@ entry: ;; outside of the initial 288 byte volatile program storage region in the ;; Protected Zone. However, this restriction will be removed in an upcoming ;; revision of the ABI. -define dso_local zeroext i32 @spill(i32* nocapture readonly %in) #0 { +define dso_local zeroext i32 @spill(ptr nocapture readonly %in) #0 { ; LE-P10-LABEL: spill: ; LE-P10: # %bb.0: # %entry ; LE-P10-NEXT: mflr r0 @@ -2840,21 +2840,20 @@ define dso_local zeroext i32 @spill(i32* nocapture readonly %in) #0 { ; BE-P8-PRIV-NEXT: blr entry: %local = alloca i32, align 4 - %0 = bitcast i32* %local to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) - %arrayidx = getelementptr inbounds i32, i32* %in, i64 3 - %1 = load i32, i32* %arrayidx, align 4 - store i32 %1, i32* %local, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local) + %arrayidx = getelementptr inbounds i32, ptr %in, i64 3 + %0 = load i32, ptr %arrayidx, align 4 + store i32 %0, ptr %local, align 4 tail call void asm sideeffect "nop", "~{cr2},~{cr3},~{cr4},~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{r13},~{r14},~{r15},~{r16},~{r17},~{r18},~{r19},~{r20},~{r21},~{r22},~{r23},~{r24},~{r25},~{r26},~{r27},~{r28},~{r29},~{r30},~{r31},~{f14},~{f15},~{f16},~{f17},~{f18},~{f19},~{f20},~{f21},~{f22},~{f23},~{f24},~{f25},~{f26},~{f27},~{f28},~{f29},~{f30},~{f31},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"() - %call = call zeroext i32 @callee2(i32* nonnull %local) - %arrayidx1 = getelementptr inbounds i32, i32* %in, i64 4 - %2 = load i32, i32* %arrayidx1, align 4 - %add = add i32 %2, %call - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) + %call = call zeroext i32 @callee2(ptr nonnull %local) + %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4 + %1 = load i32, ptr %arrayidx1, align 4 + %add = add i32 %1, %call + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local) ret i32 %add } -define dso_local zeroext i32 @shrinkwrap(i32* readonly %in) #0 { +define dso_local zeroext i32 @shrinkwrap(ptr readonly %in) #0 { ; LE-P10-LABEL: shrinkwrap: ; LE-P10: # %bb.0: # %entry ; LE-P10-NEXT: cmpldi r3, 0 @@ -3385,20 +3384,19 @@ define dso_local zeroext i32 @shrinkwrap(i32* readonly %in) #0 { ; BE-P8-PRIV-NEXT: blr entry: %local = alloca i32, align 4 - %tobool.not = icmp eq i32* %in, null + %tobool.not = icmp eq ptr %in, null br i1 %tobool.not, label %return, label %if.end if.end: ; preds = %entry - %0 = bitcast i32* %local to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) - %arrayidx = getelementptr inbounds i32, i32* %in, i64 3 - %1 = load i32, i32* %arrayidx, align 4 - store i32 %1, i32* %local, align 4 - %call = call zeroext i32 @callee2(i32* nonnull %local) - %arrayidx1 = getelementptr inbounds i32, i32* %in, i64 4 - %2 = load i32, i32* %arrayidx1, align 4 - %add = add i32 %2, %call - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local) + %arrayidx = getelementptr inbounds i32, ptr %in, i64 3 + %0 = load i32, ptr %arrayidx, align 4 + store i32 %0, ptr %local, align 4 + %call = call zeroext i32 @callee2(ptr nonnull %local) + %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4 + %1 = load i32, ptr %arrayidx1, align 4 + %add = add i32 %1, %call + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local) br label %return return: ; preds = %entry, %if.end @@ -3406,7 +3404,7 @@ return: ; preds = %entry, %if.end ret i32 %retval.0 } -define dso_local zeroext i32 @aligned(i32* nocapture readonly %in) #0 { +define dso_local zeroext i32 @aligned(ptr nocapture readonly %in) #0 { ; LE-P10-LABEL: aligned: ; LE-P10: # %bb.0: # %entry ; LE-P10-NEXT: mflr r0 @@ -4191,35 +4189,32 @@ entry: %beforeLocal = alloca i32, align 4 %local = alloca i32, align 32768 %afterLocal = alloca i32, align 4 - %0 = bitcast i32* %beforeLocal to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) - %arrayidx = getelementptr inbounds i32, i32* %in, i64 1 - %1 = load i32, i32* %arrayidx, align 4 - store i32 %1, i32* %beforeLocal, align 4 - %2 = bitcast i32* %local to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %2) - %arrayidx1 = getelementptr inbounds i32, i32* %in, i64 3 - %3 = load i32, i32* %arrayidx1, align 4 - store i32 %3, i32* %local, align 32768 - %4 = bitcast i32* %afterLocal to i8* - call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %4) - %arrayidx2 = getelementptr inbounds i32, i32* %in, i64 5 - %5 = load i32, i32* %arrayidx2, align 4 - store i32 %5, i32* %afterLocal, align 4 - %call = call zeroext i32 @callee3(i32* nonnull %local, i32* nonnull %beforeLocal, i32* nonnull %afterLocal) - %arrayidx3 = getelementptr inbounds i32, i32* %in, i64 4 - %6 = load i32, i32* %arrayidx3, align 4 - %add = add i32 %6, %call - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %4) - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %2) - call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %beforeLocal) + %arrayidx = getelementptr inbounds i32, ptr %in, i64 1 + %0 = load i32, ptr %arrayidx, align 4 + store i32 %0, ptr %beforeLocal, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local) + %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 3 + %1 = load i32, ptr %arrayidx1, align 4 + store i32 %1, ptr %local, align 32768 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %afterLocal) + %arrayidx2 = getelementptr inbounds i32, ptr %in, i64 5 + %2 = load i32, ptr %arrayidx2, align 4 + store i32 %2, ptr %afterLocal, align 4 + %call = call zeroext i32 @callee3(ptr nonnull %local, ptr nonnull %beforeLocal, ptr nonnull %afterLocal) + %arrayidx3 = getelementptr inbounds i32, ptr %in, i64 4 + %3 = load i32, ptr %arrayidx3, align 4 + %add = add i32 %3, %call + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %afterLocal) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %beforeLocal) ret i32 %add } declare zeroext i32 @callee(i32 zeroext) local_unnamed_addr -declare zeroext i32 @callee2(i32*) local_unnamed_addr -declare zeroext i32 @callee3(i32*, i32*, i32*) local_unnamed_addr -declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) -declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) +declare zeroext i32 @callee2(ptr) local_unnamed_addr +declare zeroext i32 @callee3(ptr, ptr, ptr) local_unnamed_addr +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.ll b/llvm/test/CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.ll index 1c083c3..d67f6a0 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-sibcall-shrinkwrap.ll @@ -9,9 +9,9 @@ declare void @__assert_fail(); define dso_local i8 @_ZNK5clang9NamedDecl23getLinkageAndVisibilityEv( - %"class.clang::NamedDecl"* %this) { + ptr %this) { entry: - %tobool = icmp eq %"class.clang::NamedDecl"* %this, null + %tobool = icmp eq ptr %this, null br i1 %tobool, label %cond.false, label %exit cond.false: @@ -19,12 +19,9 @@ cond.false: unreachable exit: - %DeclKind = getelementptr inbounds - %"class.clang::NamedDecl", - %"class.clang::NamedDecl"* %this, i64 0, i32 0 - %bf.load = load i32, i32* %DeclKind, align 4 + %bf.load = load i32, ptr %this, align 4 %call.i = tail call i8 @LVComputationKind( - %"class.clang::NamedDecl"* %this, + ptr %this, i32 %bf.load) ret i8 %call.i @@ -38,7 +35,7 @@ exit: } define dso_local fastcc i8 @LVComputationKind( - %"class.clang::NamedDecl"* %D, + ptr %D, i32 %computation) { ret i8 0 } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-sibcall.ll b/llvm/test/CodeGen/PowerPC/ppc64-sibcall.ll index 6671f79..8268495 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-sibcall.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-sibcall.ll @@ -11,12 +11,12 @@ %S_32 = type { [7 x i32], i32 } ; Function Attrs: noinline nounwind -define dso_local void @callee_56_copy([7 x i64] %a, %S_56* %b) #0 { ret void } -define dso_local void @callee_64_copy([8 x i64] %a, %S_64* %b) #0 { ret void } +define dso_local void @callee_56_copy([7 x i64] %a, ptr %b) #0 { ret void } +define dso_local void @callee_64_copy([8 x i64] %a, ptr %b) #0 { ret void } ; Function Attrs: nounwind -define dso_local void @caller_56_reorder_copy(%S_56* %b, [7 x i64] %a) #1 { - tail call void @callee_56_copy([7 x i64] %a, %S_56* %b) +define dso_local void @caller_56_reorder_copy(ptr %b, [7 x i64] %a) #1 { + tail call void @callee_56_copy([7 x i64] %a, ptr %b) ret void ; CHECK-SCO-LABEL: caller_56_reorder_copy: @@ -24,8 +24,8 @@ define dso_local void @caller_56_reorder_copy(%S_56* %b, [7 x i64] %a) #1 { ; CHECK-SCO: TC_RETURNd8 callee_56_copy } -define dso_local void @caller_64_reorder_copy(%S_64* %b, [8 x i64] %a) #1 { - tail call void @callee_64_copy([8 x i64] %a, %S_64* %b) +define dso_local void @caller_64_reorder_copy(ptr %b, [8 x i64] %a) #1 { + tail call void @callee_64_copy([8 x i64] %a, ptr %b) ret void ; CHECK-SCO-LABEL: caller_64_reorder_copy: @@ -67,17 +67,17 @@ define dso_local void @caller_64_64_undef_copy([8 x i64] %a, [8 x i64] %b) #1 { } define dso_local void @arg8_callee( - float %a, i32 signext %b, float %c, i32* %d, - i8 zeroext %e, float %f, i32* %g, i32 signext %h) + float %a, i32 signext %b, float %c, ptr %d, + i8 zeroext %e, float %f, ptr %g, i32 signext %h) { ret void } -define dso_local void @arg8_caller(float %a, i32 signext %b, i8 zeroext %c, i32* %d) { +define dso_local void @arg8_caller(float %a, i32 signext %b, i8 zeroext %c, ptr %d) { entry: tail call void @arg8_callee(float undef, i32 signext undef, float undef, - i32* %d, i8 zeroext undef, float undef, - i32* undef, i32 signext undef) + ptr %d, i8 zeroext undef, float undef, + ptr undef, i32 signext undef) ret void ; CHECK-SCO-LABEL: arg8_caller: @@ -87,15 +87,14 @@ entry: ; Struct return test ; Function Attrs: noinline nounwind -define dso_local void @callee_sret_56(%S_56* noalias sret(%S_56) %agg.result) #0 { ret void } -define dso_local void @callee_sret_32(%S_32* noalias sret(%S_32) %agg.result) #0 { ret void } +define dso_local void @callee_sret_56(ptr noalias sret(%S_56) %agg.result) #0 { ret void } +define dso_local void @callee_sret_32(ptr noalias sret(%S_32) %agg.result) #0 { ret void } ; Function Attrs: nounwind -define dso_local void @caller_do_something_sret_32(%S_32* noalias sret(%S_32) %agg.result) #1 { +define dso_local void @caller_do_something_sret_32(ptr noalias sret(%S_32) %agg.result) #1 { %1 = alloca %S_56, align 4 - %2 = bitcast %S_56* %1 to i8* - call void @callee_sret_56(%S_56* nonnull sret(%S_56) %1) - tail call void @callee_sret_32(%S_32* sret(%S_32) %agg.result) + call void @callee_sret_56(ptr nonnull sret(%S_56) %1) + tail call void @callee_sret_32(ptr sret(%S_32) %agg.result) ret void ; CHECK-SCO-LABEL: caller_do_something_sret_32: @@ -105,9 +104,9 @@ define dso_local void @caller_do_something_sret_32(%S_32* noalias sret(%S_32) %a ; CHECK-SCO: TC_RETURNd8 callee_sret_32 } -define dso_local void @caller_local_sret_32(%S_32* %a) #1 { +define dso_local void @caller_local_sret_32(ptr %a) #1 { %tmp = alloca %S_32, align 4 - tail call void @callee_sret_32(%S_32* nonnull sret(%S_32) %tmp) + tail call void @callee_sret_32(ptr nonnull sret(%S_32) %tmp) ret void ; CHECK-SCO-LABEL: caller_local_sret_32: @@ -117,9 +116,9 @@ define dso_local void @caller_local_sret_32(%S_32* %a) #1 { attributes #0 = { noinline nounwind } attributes #1 = { nounwind } -define dso_local void @f128_callee(i32* %ptr, ppc_fp128 %a, ppc_fp128 %b) { ret void } -define dso_local void @f128_caller(i32* %ptr, ppc_fp128 %a, ppc_fp128 %b) { - tail call void @f128_callee(i32* %ptr, ppc_fp128 %a, ppc_fp128 %b) +define dso_local void @f128_callee(ptr %ptr, ppc_fp128 %a, ppc_fp128 %b) { ret void } +define dso_local void @f128_caller(ptr %ptr, ppc_fp128 %a, ppc_fp128 %b) { + tail call void @f128_callee(ptr %ptr, ppc_fp128 %a, ppc_fp128 %b) ret void ; CHECK-SCO-LABEL: f128_caller: @@ -129,9 +128,9 @@ define dso_local void @f128_caller(i32* %ptr, ppc_fp128 %a, ppc_fp128 %b) { ; weak linkage test %class.T = type { [2 x i8] } -define weak_odr hidden void @wo_hcallee(%class.T* %this, i8* %c) { ret void } -define dso_local void @wo_hcaller(%class.T* %this, i8* %c) { - tail call void @wo_hcallee(%class.T* %this, i8* %c) +define weak_odr hidden void @wo_hcallee(ptr %this, ptr %c) { ret void } +define dso_local void @wo_hcaller(ptr %this, ptr %c) { + tail call void @wo_hcallee(ptr %this, ptr %c) ret void ; CHECK-SCO-LABEL: wo_hcaller: @@ -141,9 +140,9 @@ define dso_local void @wo_hcaller(%class.T* %this, i8* %c) { ; SCM: bl wo_hcallee } -define weak_odr protected void @wo_pcallee(%class.T* %this, i8* %c) { ret void } -define dso_local void @wo_pcaller(%class.T* %this, i8* %c) { - tail call void @wo_pcallee(%class.T* %this, i8* %c) +define weak_odr protected void @wo_pcallee(ptr %this, ptr %c) { ret void } +define dso_local void @wo_pcaller(ptr %this, ptr %c) { + tail call void @wo_pcallee(ptr %this, ptr %c) ret void ; CHECK-SCO-LABEL: wo_pcaller: @@ -153,9 +152,9 @@ define dso_local void @wo_pcaller(%class.T* %this, i8* %c) { ; SCM: bl wo_pcallee } -define weak_odr void @wo_callee(%class.T* %this, i8* %c) { ret void } -define dso_local void @wo_caller(%class.T* %this, i8* %c) { - tail call void @wo_callee(%class.T* %this, i8* %c) +define weak_odr void @wo_callee(ptr %this, ptr %c) { ret void } +define dso_local void @wo_caller(ptr %this, ptr %c) { + tail call void @wo_callee(ptr %this, ptr %c) ret void ; CHECK-SCO-LABEL: wo_caller: @@ -165,9 +164,9 @@ define dso_local void @wo_caller(%class.T* %this, i8* %c) { ; SCM: bl wo_callee } -define weak protected void @w_pcallee(i8* %ptr) { ret void } -define dso_local void @w_pcaller(i8* %ptr) { - tail call void @w_pcallee(i8* %ptr) +define weak protected void @w_pcallee(ptr %ptr) { ret void } +define dso_local void @w_pcaller(ptr %ptr) { + tail call void @w_pcallee(ptr %ptr) ret void ; CHECK-SCO-LABEL: w_pcaller: @@ -177,9 +176,9 @@ define dso_local void @w_pcaller(i8* %ptr) { ; SCM: bl w_pcallee } -define weak hidden void @w_hcallee(i8* %ptr) { ret void } -define dso_local void @w_hcaller(i8* %ptr) { - tail call void @w_hcallee(i8* %ptr) +define weak hidden void @w_hcallee(ptr %ptr) { ret void } +define dso_local void @w_hcaller(ptr %ptr) { + tail call void @w_hcallee(ptr %ptr) ret void ; CHECK-SCO-LABEL: w_hcaller: @@ -189,9 +188,9 @@ define dso_local void @w_hcaller(i8* %ptr) { ; SCM: bl w_hcallee } -define weak void @w_callee(i8* %ptr) { ret void } -define dso_local void @w_caller(i8* %ptr) { - tail call void @w_callee(i8* %ptr) +define weak void @w_callee(ptr %ptr) { ret void } +define dso_local void @w_caller(ptr %ptr) { + tail call void @w_callee(ptr %ptr) ret void ; CHECK-SCO-LABEL: w_caller: @@ -204,9 +203,9 @@ define dso_local void @w_caller(i8* %ptr) { %struct.byvalTest = type { [8 x i8] } @byval = common global %struct.byvalTest zeroinitializer -define dso_local void @byval_callee(%struct.byvalTest* byval(%struct.byvalTest) %ptr) { ret void } +define dso_local void @byval_callee(ptr byval(%struct.byvalTest) %ptr) { ret void } define dso_local void @byval_caller() { - tail call void @byval_callee(%struct.byvalTest* byval(%struct.byvalTest) @byval) + tail call void @byval_callee(ptr byval(%struct.byvalTest) @byval) ret void ; CHECK-SCO-LABEL: bl byval_callee diff --git a/llvm/test/CodeGen/PowerPC/ppc64-smallarg.ll b/llvm/test/CodeGen/PowerPC/ppc64-smallarg.ll index cd6ccd8..af24164 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-smallarg.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-smallarg.ll @@ -13,12 +13,10 @@ target triple = "powerpc64-unknown-linux-gnu" @gs = common global %struct.small_arg zeroinitializer, align 2 @gf = common global float 0.000000e+00, align 4 -define void @callee1(%struct.small_arg* noalias nocapture sret(%struct.small_arg) %agg.result, %struct.large_arg* byval(%struct.large_arg) nocapture readnone %pad, %struct.small_arg* byval(%struct.small_arg) nocapture readonly %x) { +define void @callee1(ptr noalias nocapture sret(%struct.small_arg) %agg.result, ptr byval(%struct.large_arg) nocapture readnone %pad, ptr byval(%struct.small_arg) nocapture readonly %x) { entry: - %0 = bitcast %struct.small_arg* %x to i32* - %1 = bitcast %struct.small_arg* %agg.result to i32* - %2 = load i32, i32* %0, align 2 - store i32 %2, i32* %1, align 2 + %0 = load i32, ptr %x, align 2 + store i32 %0, ptr %agg.result, align 2 ret void } ; CHECK: @callee1 @@ -28,14 +26,14 @@ entry: define void @caller1() { entry: %tmp = alloca %struct.small_arg, align 2 - call void @test1(%struct.small_arg* sret(%struct.small_arg) %tmp, %struct.large_arg* byval(%struct.large_arg) @gl, %struct.small_arg* byval(%struct.small_arg) @gs) + call void @test1(ptr sret(%struct.small_arg) %tmp, ptr byval(%struct.large_arg) @gl, ptr byval(%struct.small_arg) @gs) ret void } ; CHECK: @caller1 ; CHECK: stw {{[0-9]+}}, 124(1) ; CHECK: bl test1 -declare void @test1(%struct.small_arg* sret(%struct.small_arg), %struct.large_arg* byval(%struct.large_arg), %struct.small_arg* byval(%struct.small_arg)) +declare void @test1(ptr sret(%struct.small_arg), ptr byval(%struct.large_arg), ptr byval(%struct.small_arg)) define float @callee2(float %pad1, float %pad2, float %pad3, float %pad4, float %pad5, float %pad6, float %pad7, float %pad8, float %pad9, float %pad10, float %pad11, float %pad12, float %pad13, float %x) { entry: @@ -47,7 +45,7 @@ entry: define void @caller2() { entry: - %0 = load float, float* @gf, align 4 + %0 = load float, ptr @gf, align 4 %call = tail call float @test2(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float %0) ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc64-toc.ll b/llvm/test/CodeGen/PowerPC/ppc64-toc.ll index 121aa09..7e797e7 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-toc.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-toc.ll @@ -17,7 +17,7 @@ entry: ; CHECK-NEXT: .quad 0 ; CHECK-NEXT: .text ; CHECK-NEXT: .L[[BEGIN]]: - %0 = load i64, i64* @number64, align 8 + %0 = load i64, ptr @number64, align 8 ; CHECK: ld {{[0-9]+}}, .LC{{[0-9]+}}@toc(2) %cmp = icmp eq i64 %0, %a %conv1 = zext i1 %cmp to i64 @@ -28,7 +28,7 @@ define i64 @internal_static_var(i64 %a) nounwind { entry: ; CHECK-LABEL: internal_static_var: ; CHECK: ld {{[0-9]+}}, .LC{{[0-9]+}}@toc(2) - %0 = load i64, i64* @internal_static_var.x, align 8 + %0 = load i64, ptr @internal_static_var.x, align 8 %cmp = icmp eq i64 %0, %a %conv1 = zext i1 %cmp to i64 ret i64 %conv1 @@ -48,8 +48,8 @@ define i32 @access_double_array(double %a, i32 %i) nounwind readonly { entry: ; CHECK-LABEL: access_double_array: %idxprom = sext i32 %i to i64 - %arrayidx = getelementptr inbounds [32 x double], [32 x double]* @double_array, i64 0, i64 %idxprom - %0 = load double, double* %arrayidx, align 8 + %arrayidx = getelementptr inbounds [32 x double], ptr @double_array, i64 0, i64 %idxprom + %0 = load double, ptr %arrayidx, align 8 ; CHECK: ld {{[0-9]+}}, .LC{{[0-9]+}}@toc(2) %cmp = fcmp oeq double %0, %a %conv = zext i1 %cmp to i32 diff --git a/llvm/test/CodeGen/PowerPC/ppc64-vaarg-int.ll b/llvm/test/CodeGen/PowerPC/ppc64-vaarg-int.ll index 96be8f4..c3ee953 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-vaarg-int.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-vaarg-int.ll @@ -4,15 +4,14 @@ target triple = "powerpc64-unknown-linux-gnu" define i32 @intvaarg(i32 %a, ...) nounwind { entry: - %va = alloca i8*, align 8 - %va1 = bitcast i8** %va to i8* - call void @llvm.va_start(i8* %va1) - %0 = va_arg i8** %va, i32 + %va = alloca ptr, align 8 + call void @llvm.va_start(ptr %va) + %0 = va_arg ptr %va, i32 %sub = sub nsw i32 %a, %0 ret i32 %sub } -declare void @llvm.va_start(i8*) nounwind +declare void @llvm.va_start(ptr) nounwind ; CHECK: @intvaarg ; Make sure that the va pointer is incremented by 8 (not 4). diff --git a/llvm/test/CodeGen/PowerPC/ppc64-varargs.ll b/llvm/test/CodeGen/PowerPC/ppc64-varargs.ll index 5aeedbf..e22dfe9 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-varargs.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-varargs.ll @@ -50,10 +50,9 @@ define i32 @f1(...) nounwind { ; LE-NEXT: std r4, -8(r1) ; LE-NEXT: blr entry: - %va = alloca i8*, align 8 - %va.cast = bitcast i8** %va to i8* - call void @llvm.va_start(i8* %va.cast) + %va = alloca ptr, align 8 + call void @llvm.va_start(ptr %va) ret i32 0 } -declare void @llvm.va_start(i8*) nounwind +declare void @llvm.va_start(ptr) nounwind diff --git a/llvm/test/CodeGen/PowerPC/ppc64-xxsplti32dx-pattern-check.ll b/llvm/test/CodeGen/PowerPC/ppc64-xxsplti32dx-pattern-check.ll index b7f5b45..45ebcf3 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64-xxsplti32dx-pattern-check.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64-xxsplti32dx-pattern-check.ll @@ -14,7 +14,7 @@ declare dso_local void @callee() local_unnamed_addr define dso_local void @test_xxsplti32dx() local_unnamed_addr { entry: - %i1 = load double, double* undef, align 8 + %i1 = load double, ptr undef, align 8 br label %for.body124 for.body124: @@ -22,8 +22,8 @@ for.body124: br i1 undef, label %for.body919.preheader, label %for.end1072 for.body919.preheader: - %i4 = load double, double* null, align 8 - %i5 = load double, double* null, align 8 + %i4 = load double, ptr null, align 8 + %i5 = load double, ptr null, align 8 %i15 = insertelement <2 x double> poison, double %i5, i32 0 %i23 = insertelement <2 x double> undef, double %i4, i32 1 %i24 = insertelement <2 x double> %i15, double 0x3FC5555555555555, i32 1 @@ -36,6 +36,6 @@ for.end1072: %E1 = phi double [ %E0, %for.body124 ], [ %sub994, %for.body919.preheader ] %i28 = phi <2 x double> [ zeroinitializer, %for.body124 ], [ %i15, %for.body919.preheader ] tail call void @callee() - store <2 x double> %i28, <2 x double>* undef, align 8 + store <2 x double> %i28, ptr undef, align 8 br label %for.body124 } diff --git a/llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll b/llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll index 3819e26..eba481e 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll @@ -259,9 +259,9 @@ entry: define void @caller2() { entry: - %0 = load [8 x float], [8 x float]* getelementptr inbounds (%struct.float8, %struct.float8* @g8, i64 0, i32 0), align 4 - %1 = load [5 x float], [5 x float]* getelementptr inbounds (%struct.float5, %struct.float5* @g5, i64 0, i32 0), align 4 - %2 = load [2 x float], [2 x float]* getelementptr inbounds (%struct.float2, %struct.float2* @g2, i64 0, i32 0), align 4 + %0 = load [8 x float], ptr @g8, align 4 + %1 = load [5 x float], ptr @g5, align 4 + %2 = load [2 x float], ptr @g2, align 4 tail call void @test2([8 x float] %0, [5 x float] %1, [2 x float] %2) ret void } @@ -298,8 +298,8 @@ entry: define void @caller3(double %d) { entry: - %0 = load [8 x float], [8 x float]* getelementptr inbounds (%struct.float8, %struct.float8* @g8, i64 0, i32 0), align 4 - %1 = load [5 x float], [5 x float]* getelementptr inbounds (%struct.float5, %struct.float5* @g5, i64 0, i32 0), align 4 + %0 = load [8 x float], ptr @g8, align 4 + %1 = load [5 x float], ptr @g5, align 4 tail call void @test3([8 x float] %0, [5 x float] %1, double %d) ret void } @@ -321,8 +321,8 @@ entry: define void @caller4(float %f) { entry: - %0 = load [8 x float], [8 x float]* getelementptr inbounds (%struct.float8, %struct.float8* @g8, i64 0, i32 0), align 4 - %1 = load [5 x float], [5 x float]* getelementptr inbounds (%struct.float5, %struct.float5* @g5, i64 0, i32 0), align 4 + %0 = load [8 x float], ptr @g8, align 4 + %1 = load [5 x float], ptr @g5, align 4 tail call void @test4([8 x float] %0, [5 x float] %1, float %f) ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc64le-calls.ll b/llvm/test/CodeGen/PowerPC/ppc64le-calls.ll index 3eab2db..dcb1337 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64le-calls.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64le-calls.ll @@ -8,7 +8,7 @@ target datalayout = "e-m:e-i64:64-n32:64" target triple = "powerpc64le-unknown-linux-gnu" ; Indirect calls requires a full stub creation -define void @test_indirect(void ()* nocapture %fp) { +define void @test_indirect(ptr nocapture %fp) { ; CHECK-LABEL: @test_indirect tail call void %fp() ; CHECK-DAG: std 2, 24(1) diff --git a/llvm/test/CodeGen/PowerPC/ppc64le-crsave.ll b/llvm/test/CodeGen/PowerPC/ppc64le-crsave.ll index f32b3e7..5332958 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64le-crsave.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64le-crsave.ll @@ -2,9 +2,9 @@ target datalayout = "e-m:e-i64:64-n32:64" target triple = "powerpc64le-unknown-linux-gnu" -@_ZTIi = external constant i8* -declare i8* @__cxa_allocate_exception(i64) -declare void @__cxa_throw(i8*, i8*, i8*) +@_ZTIi = external constant ptr +declare ptr @__cxa_allocate_exception(i64) +declare void @__cxa_throw(ptr, ptr, ptr) define void @crsave() { entry: @@ -12,10 +12,9 @@ entry: call void asm sideeffect "", "~{cr3}"() call void asm sideeffect "", "~{cr4}"() - %exception = call i8* @__cxa_allocate_exception(i64 4) - %0 = bitcast i8* %exception to i32* - store i32 0, i32* %0 - call void @__cxa_throw(i8* %exception, i8* bitcast (i8** @_ZTIi to i8*), i8* null) + %exception = call ptr @__cxa_allocate_exception(i64 4) + store i32 0, ptr %exception + call void @__cxa_throw(ptr %exception, ptr @_ZTIi, ptr null) unreachable return: ; No predecessors! diff --git a/llvm/test/CodeGen/PowerPC/ppc64le-localentry-large.ll b/llvm/test/CodeGen/PowerPC/ppc64le-localentry-large.ll index ec51f91..749f4f0 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64le-localentry-large.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64le-localentry-large.ll @@ -19,7 +19,7 @@ entry: ; CHECK-NEXT: .Lfunc_lep[[FN]]: ; CHECK-NEXT: .localentry use_toc, .Lfunc_lep[[FN]]-.Lfunc_gep[[FN]] ; CHECK-NEXT: %entry - %0 = load i64, i64* @number64, align 8 + %0 = load i64, ptr @number64, align 8 %cmp = icmp eq i64 %0, %a %conv1 = zext i1 %cmp to i64 ret i64 %conv1 diff --git a/llvm/test/CodeGen/PowerPC/ppc64le-localentry.ll b/llvm/test/CodeGen/PowerPC/ppc64le-localentry.ll index e894a54..d2b7cfb 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64le-localentry.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64le-localentry.ll @@ -23,7 +23,7 @@ entry: ; CHECK-NEXT: .Lfunc_lep[[FN]]: ; CHECK-NEXT: .localentry use_toc, .Lfunc_lep[[FN]]-.Lfunc_gep[[FN]] ; CHECK-NEXT: %entry - %0 = load i64, i64* @number64, align 8 + %0 = load i64, ptr @number64, align 8 %cmp = icmp eq i64 %0, %a %conv1 = zext i1 %cmp to i64 ret i64 %conv1 diff --git a/llvm/test/CodeGen/PowerPC/ppc64le-smallarg.ll b/llvm/test/CodeGen/PowerPC/ppc64le-smallarg.ll index 4b2982401..fa2e09a 100644 --- a/llvm/test/CodeGen/PowerPC/ppc64le-smallarg.ll +++ b/llvm/test/CodeGen/PowerPC/ppc64le-smallarg.ll @@ -13,12 +13,10 @@ target triple = "powerpc64le-unknown-linux-gnu" @gs = common global %struct.small_arg zeroinitializer, align 2 @gf = common global float 0.000000e+00, align 4 -define void @callee1(%struct.small_arg* noalias nocapture sret(%struct.small_arg) %agg.result, %struct.large_arg* byval(%struct.large_arg) nocapture readnone %pad, %struct.small_arg* byval(%struct.small_arg) nocapture readonly %x) { +define void @callee1(ptr noalias nocapture sret(%struct.small_arg) %agg.result, ptr byval(%struct.large_arg) nocapture readnone %pad, ptr byval(%struct.small_arg) nocapture readonly %x) { entry: - %0 = bitcast %struct.small_arg* %x to i32* - %1 = bitcast %struct.small_arg* %agg.result to i32* - %2 = load i32, i32* %0, align 2 - store i32 %2, i32* %1, align 2 + %0 = load i32, ptr %x, align 2 + store i32 %0, ptr %agg.result, align 2 ret void } ; CHECK: @callee1 @@ -28,14 +26,14 @@ entry: define void @caller1() { entry: %tmp = alloca %struct.small_arg, align 2 - call void @test1(%struct.small_arg* sret(%struct.small_arg) %tmp, %struct.large_arg* byval(%struct.large_arg) @gl, %struct.small_arg* byval(%struct.small_arg) @gs) + call void @test1(ptr sret(%struct.small_arg) %tmp, ptr byval(%struct.large_arg) @gl, ptr byval(%struct.small_arg) @gs) ret void } ; CHECK: @caller1 ; CHECK: stw {{[0-9]+}}, 104(1) ; CHECK: bl test1 -declare void @test1(%struct.small_arg* sret(%struct.small_arg), %struct.large_arg* byval(%struct.large_arg), %struct.small_arg* byval(%struct.small_arg)) +declare void @test1(ptr sret(%struct.small_arg), ptr byval(%struct.large_arg), ptr byval(%struct.small_arg)) define float @callee2(float %pad1, float %pad2, float %pad3, float %pad4, float %pad5, float %pad6, float %pad7, float %pad8, float %pad9, float %pad10, float %pad11, float %pad12, float %pad13, float %x) { entry: @@ -47,7 +45,7 @@ entry: define void @caller2() { entry: - %0 = load float, float* @gf, align 4 + %0 = load float, ptr @gf, align 4 %call = tail call float @test2(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float %0) ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll b/llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll index 101a0e4..3966f85 100644 --- a/llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll +++ b/llvm/test/CodeGen/PowerPC/ppc_fp128-bcwriter.ll @@ -6,10 +6,10 @@ define i32 @main() local_unnamed_addr { _main_entry: %e3 = alloca ppc_fp128, align 16 - store ppc_fp128 0xM0000000000000000FFFFFFFFFFFFFFFF, ppc_fp128* %e3, align 16 - %0 = call i64 @foo( ppc_fp128* nonnull %e3) + store ppc_fp128 0xM0000000000000000FFFFFFFFFFFFFFFF, ptr %e3, align 16 + %0 = call i64 @foo( ptr nonnull %e3) ret i32 undef } -declare i64 @foo(ppc_fp128 *) +declare i64 @foo(ptr) diff --git a/llvm/test/CodeGen/PowerPC/ppcf128-1.ll b/llvm/test/CodeGen/PowerPC/ppcf128-1.ll index 462faf5..4bee8ff 100644 --- a/llvm/test/CodeGen/PowerPC/ppcf128-1.ll +++ b/llvm/test/CodeGen/PowerPC/ppcf128-1.ll @@ -5,88 +5,88 @@ target triple = "powerpc-unknown-linux-gnu" define ppc_fp128 @plus(ppc_fp128 %x, ppc_fp128 %y) { entry: - %x_addr = alloca ppc_fp128 ; [#uses=2] - %y_addr = alloca ppc_fp128 ; [#uses=2] - %retval = alloca ppc_fp128, align 16 ; [#uses=2] - %tmp = alloca ppc_fp128, align 16 ; [#uses=2] + %x_addr = alloca ppc_fp128 ; [#uses=2] + %y_addr = alloca ppc_fp128 ; [#uses=2] + %retval = alloca ppc_fp128, align 16 ; [#uses=2] + %tmp = alloca ppc_fp128, align 16 ; [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store ppc_fp128 %x, ppc_fp128* %x_addr - store ppc_fp128 %y, ppc_fp128* %y_addr - %tmp1 = load ppc_fp128, ppc_fp128* %x_addr, align 16 ; [#uses=1] - %tmp2 = load ppc_fp128, ppc_fp128* %y_addr, align 16 ; [#uses=1] + store ppc_fp128 %x, ptr %x_addr + store ppc_fp128 %y, ptr %y_addr + %tmp1 = load ppc_fp128, ptr %x_addr, align 16 ; [#uses=1] + %tmp2 = load ppc_fp128, ptr %y_addr, align 16 ; [#uses=1] %tmp3 = fadd ppc_fp128 %tmp1, %tmp2 ; [#uses=1] - store ppc_fp128 %tmp3, ppc_fp128* %tmp, align 16 - %tmp4 = load ppc_fp128, ppc_fp128* %tmp, align 16 ; [#uses=1] - store ppc_fp128 %tmp4, ppc_fp128* %retval, align 16 + store ppc_fp128 %tmp3, ptr %tmp, align 16 + %tmp4 = load ppc_fp128, ptr %tmp, align 16 ; [#uses=1] + store ppc_fp128 %tmp4, ptr %retval, align 16 br label %return return: ; preds = %entry - %retval5 = load ppc_fp128, ppc_fp128* %retval ; [#uses=1] + %retval5 = load ppc_fp128, ptr %retval ; [#uses=1] ret ppc_fp128 %retval5 } define ppc_fp128 @minus(ppc_fp128 %x, ppc_fp128 %y) { entry: - %x_addr = alloca ppc_fp128 ; [#uses=2] - %y_addr = alloca ppc_fp128 ; [#uses=2] - %retval = alloca ppc_fp128, align 16 ; [#uses=2] - %tmp = alloca ppc_fp128, align 16 ; [#uses=2] + %x_addr = alloca ppc_fp128 ; [#uses=2] + %y_addr = alloca ppc_fp128 ; [#uses=2] + %retval = alloca ppc_fp128, align 16 ; [#uses=2] + %tmp = alloca ppc_fp128, align 16 ; [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store ppc_fp128 %x, ppc_fp128* %x_addr - store ppc_fp128 %y, ppc_fp128* %y_addr - %tmp1 = load ppc_fp128, ppc_fp128* %x_addr, align 16 ; [#uses=1] - %tmp2 = load ppc_fp128, ppc_fp128* %y_addr, align 16 ; [#uses=1] + store ppc_fp128 %x, ptr %x_addr + store ppc_fp128 %y, ptr %y_addr + %tmp1 = load ppc_fp128, ptr %x_addr, align 16 ; [#uses=1] + %tmp2 = load ppc_fp128, ptr %y_addr, align 16 ; [#uses=1] %tmp3 = fsub ppc_fp128 %tmp1, %tmp2 ; [#uses=1] - store ppc_fp128 %tmp3, ppc_fp128* %tmp, align 16 - %tmp4 = load ppc_fp128, ppc_fp128* %tmp, align 16 ; [#uses=1] - store ppc_fp128 %tmp4, ppc_fp128* %retval, align 16 + store ppc_fp128 %tmp3, ptr %tmp, align 16 + %tmp4 = load ppc_fp128, ptr %tmp, align 16 ; [#uses=1] + store ppc_fp128 %tmp4, ptr %retval, align 16 br label %return return: ; preds = %entry - %retval5 = load ppc_fp128, ppc_fp128* %retval ; [#uses=1] + %retval5 = load ppc_fp128, ptr %retval ; [#uses=1] ret ppc_fp128 %retval5 } define ppc_fp128 @times(ppc_fp128 %x, ppc_fp128 %y) { entry: - %x_addr = alloca ppc_fp128 ; [#uses=2] - %y_addr = alloca ppc_fp128 ; [#uses=2] - %retval = alloca ppc_fp128, align 16 ; [#uses=2] - %tmp = alloca ppc_fp128, align 16 ; [#uses=2] + %x_addr = alloca ppc_fp128 ; [#uses=2] + %y_addr = alloca ppc_fp128 ; [#uses=2] + %retval = alloca ppc_fp128, align 16 ; [#uses=2] + %tmp = alloca ppc_fp128, align 16 ; [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store ppc_fp128 %x, ppc_fp128* %x_addr - store ppc_fp128 %y, ppc_fp128* %y_addr - %tmp1 = load ppc_fp128, ppc_fp128* %x_addr, align 16 ; [#uses=1] - %tmp2 = load ppc_fp128, ppc_fp128* %y_addr, align 16 ; [#uses=1] + store ppc_fp128 %x, ptr %x_addr + store ppc_fp128 %y, ptr %y_addr + %tmp1 = load ppc_fp128, ptr %x_addr, align 16 ; [#uses=1] + %tmp2 = load ppc_fp128, ptr %y_addr, align 16 ; [#uses=1] %tmp3 = fmul ppc_fp128 %tmp1, %tmp2 ; [#uses=1] - store ppc_fp128 %tmp3, ppc_fp128* %tmp, align 16 - %tmp4 = load ppc_fp128, ppc_fp128* %tmp, align 16 ; [#uses=1] - store ppc_fp128 %tmp4, ppc_fp128* %retval, align 16 + store ppc_fp128 %tmp3, ptr %tmp, align 16 + %tmp4 = load ppc_fp128, ptr %tmp, align 16 ; [#uses=1] + store ppc_fp128 %tmp4, ptr %retval, align 16 br label %return return: ; preds = %entry - %retval5 = load ppc_fp128, ppc_fp128* %retval ; [#uses=1] + %retval5 = load ppc_fp128, ptr %retval ; [#uses=1] ret ppc_fp128 %retval5 } define ppc_fp128 @divide(ppc_fp128 %x, ppc_fp128 %y) { entry: - %x_addr = alloca ppc_fp128 ; [#uses=2] - %y_addr = alloca ppc_fp128 ; [#uses=2] - %retval = alloca ppc_fp128, align 16 ; [#uses=2] - %tmp = alloca ppc_fp128, align 16 ; [#uses=2] + %x_addr = alloca ppc_fp128 ; [#uses=2] + %y_addr = alloca ppc_fp128 ; [#uses=2] + %retval = alloca ppc_fp128, align 16 ; [#uses=2] + %tmp = alloca ppc_fp128, align 16 ; [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store ppc_fp128 %x, ppc_fp128* %x_addr - store ppc_fp128 %y, ppc_fp128* %y_addr - %tmp1 = load ppc_fp128, ppc_fp128* %x_addr, align 16 ; [#uses=1] - %tmp2 = load ppc_fp128, ppc_fp128* %y_addr, align 16 ; [#uses=1] + store ppc_fp128 %x, ptr %x_addr + store ppc_fp128 %y, ptr %y_addr + %tmp1 = load ppc_fp128, ptr %x_addr, align 16 ; [#uses=1] + %tmp2 = load ppc_fp128, ptr %y_addr, align 16 ; [#uses=1] %tmp3 = fdiv ppc_fp128 %tmp1, %tmp2 ; [#uses=1] - store ppc_fp128 %tmp3, ppc_fp128* %tmp, align 16 - %tmp4 = load ppc_fp128, ppc_fp128* %tmp, align 16 ; [#uses=1] - store ppc_fp128 %tmp4, ppc_fp128* %retval, align 16 + store ppc_fp128 %tmp3, ptr %tmp, align 16 + %tmp4 = load ppc_fp128, ptr %tmp, align 16 ; [#uses=1] + store ppc_fp128 %tmp4, ptr %retval, align 16 br label %return return: ; preds = %entry - %retval5 = load ppc_fp128, ppc_fp128* %retval ; [#uses=1] + %retval5 = load ppc_fp128, ptr %retval ; [#uses=1] ret ppc_fp128 %retval5 } diff --git a/llvm/test/CodeGen/PowerPC/ppcf128-3.ll b/llvm/test/CodeGen/PowerPC/ppcf128-3.ll index b9a35e0..3706417 100644 --- a/llvm/test/CodeGen/PowerPC/ppcf128-3.ll +++ b/llvm/test/CodeGen/PowerPC/ppcf128-3.ll @@ -1,28 +1,28 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- %struct.stp_sequence = type { double, double } -define i32 @stp_sequence_set_short_data(%struct.stp_sequence* %sequence, i32 %count, i16* %data) { +define i32 @stp_sequence_set_short_data(ptr %sequence, i32 %count, ptr %data) { entry: %tmp1112 = sitofp i16 0 to ppc_fp128 ; [#uses=1] %tmp13 = call i32 (...) @__inline_isfinite( ppc_fp128 %tmp1112 ) nounwind ; [#uses=0] ret i32 0 } -define i32 @stp_sequence_set_short_data2(%struct.stp_sequence* %sequence, i32 %count, i16* %data) { +define i32 @stp_sequence_set_short_data2(ptr %sequence, i32 %count, ptr %data) { entry: %tmp1112 = sitofp i8 0 to ppc_fp128 ; [#uses=1] %tmp13 = call i32 (...) @__inline_isfinite( ppc_fp128 %tmp1112 ) nounwind ; [#uses=0] ret i32 0 } -define i32 @stp_sequence_set_short_data3(%struct.stp_sequence* %sequence, i32 %count, i16* %data) { +define i32 @stp_sequence_set_short_data3(ptr %sequence, i32 %count, ptr %data) { entry: %tmp1112 = uitofp i16 0 to ppc_fp128 ; [#uses=1] %tmp13 = call i32 (...) @__inline_isfinite( ppc_fp128 %tmp1112 ) nounwind ; [#uses=0] ret i32 0 } -define i32 @stp_sequence_set_short_data4(%struct.stp_sequence* %sequence, i32 %count, i16* %data) { +define i32 @stp_sequence_set_short_data4(ptr %sequence, i32 %count, ptr %data) { entry: %tmp1112 = uitofp i8 0 to ppc_fp128 ; [#uses=1] %tmp13 = call i32 (...) @__inline_isfinite( ppc_fp128 %tmp1112 ) nounwind ; [#uses=0] diff --git a/llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll b/llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll index f32a3c5..22d29af 100644 --- a/llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll +++ b/llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll @@ -1413,7 +1413,7 @@ entry: ; Test that resultant libcalls retain order even when their non-strict FLOP form could be ; trivially optimized into differing sequences. -define void @test_constrained_libcall_multichain(float* %firstptr, ppc_fp128* %result) #0 { +define void @test_constrained_libcall_multichain(ptr %firstptr, ptr %result) #0 { ; PC64LE-LABEL: test_constrained_libcall_multichain: ; PC64LE: # %bb.0: ; PC64LE-NEXT: mflr 0 @@ -1570,11 +1570,11 @@ define void @test_constrained_libcall_multichain(float* %firstptr, ppc_fp128* %r ; PC64-NEXT: ld 0, 16(1) ; PC64-NEXT: mtlr 0 ; PC64-NEXT: blr - %load = load float, float* %firstptr + %load = load float, ptr %firstptr %first = call ppc_fp128 @llvm.experimental.constrained.fpext.f32.ppcf128( float %load, metadata !"fpexcept.strict") #1 - store ppc_fp128 %first, ppc_fp128* %result + store ppc_fp128 %first, ptr %result ; For unconstrained FLOPs, these next two FP instructions would necessarily ; be executed in series with one another. @@ -1583,15 +1583,15 @@ define void @test_constrained_libcall_multichain(float* %firstptr, ppc_fp128* %r ppc_fp128 %first, metadata !"round.dynamic", metadata !"fpexcept.strict") #1 - %stridx1 = getelementptr ppc_fp128, ppc_fp128* %result, i32 1 - store ppc_fp128 %fadd, ppc_fp128* %stridx1 + %stridx1 = getelementptr ppc_fp128, ptr %result, i32 1 + store ppc_fp128 %fadd, ptr %stridx1 %fmul = call ppc_fp128 @llvm.experimental.constrained.fmul.ppcf128( ppc_fp128 %fadd, ppc_fp128 %fadd, metadata !"round.dynamic", metadata !"fpexcept.strict") #1 - %stridx2 = getelementptr ppc_fp128, ppc_fp128* %stridx1, i32 1 - store ppc_fp128 %fadd, ppc_fp128* %stridx2 + %stridx2 = getelementptr ppc_fp128, ptr %stridx1, i32 1 + store ppc_fp128 %fadd, ptr %stridx2 ; For unconstrained FLOPs, these next two FP instructions could be reordered ; or even executed in parallel with respect to the previous two instructions. @@ -1605,9 +1605,9 @@ define void @test_constrained_libcall_multichain(float* %firstptr, ppc_fp128* %r ppc_fp128 %powi, metadata !"round.dynamic", metadata !"fpexcept.strict") #1 - store float %tinypow, float* %firstptr - %stridxn1 = getelementptr ppc_fp128, ppc_fp128* %result, i32 -1 - store ppc_fp128 %powi, ppc_fp128* %stridxn1 + store float %tinypow, ptr %firstptr + %stridxn1 = getelementptr ppc_fp128, ptr %result, i32 -1 + store ppc_fp128 %powi, ptr %stridxn1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/ppcf128-endian.ll b/llvm/test/CodeGen/PowerPC/ppcf128-endian.ll index 6663034..dc6b111 100644 --- a/llvm/test/CodeGen/PowerPC/ppcf128-endian.ll +++ b/llvm/test/CodeGen/PowerPC/ppcf128-endian.ll @@ -18,9 +18,9 @@ define void @callee(ppc_fp128 %x) { ; CHECK-NEXT: blr entry: %x.addr = alloca ppc_fp128, align 16 - store ppc_fp128 %x, ppc_fp128* %x.addr, align 16 - %0 = load ppc_fp128, ppc_fp128* %x.addr, align 16 - store ppc_fp128 %0, ppc_fp128* @g, align 16 + store ppc_fp128 %x, ptr %x.addr, align 16 + %0 = load ppc_fp128, ptr %x.addr, align 16 + store ppc_fp128 %0, ptr @g, align 16 ret void } @@ -43,7 +43,7 @@ define void @caller() { ; CHECK-NEXT: mtlr 0 ; CHECK-NEXT: blr entry: - %0 = load ppc_fp128, ppc_fp128* @g, align 16 + %0 = load ppc_fp128, ptr @g, align 16 call void @test(ppc_fp128 %0) ret void } @@ -82,7 +82,7 @@ define ppc_fp128 @result() { ; CHECK-NEXT: lfd 2, 8(3) ; CHECK-NEXT: blr entry: - %0 = load ppc_fp128, ppc_fp128* @g, align 16 + %0 = load ppc_fp128, ptr @g, align 16 ret ppc_fp128 %0 } @@ -106,7 +106,7 @@ define void @use_result() { ; CHECK-NEXT: blr entry: %call = tail call ppc_fp128 @test_result() #3 - store ppc_fp128 %call, ppc_fp128* @g, align 16 + store ppc_fp128 %call, ptr @g, align 16 ret void } @@ -191,7 +191,7 @@ entry: ret double %conv } -declare void @llvm.va_start(i8*) +declare void @llvm.va_start(ptr) define double @vararg(i32 %a, ...) { ; CHECK-LABEL: vararg: @@ -212,10 +212,9 @@ define double @vararg(i32 %a, ...) { ; CHECK-NEXT: std 3, -8(1) ; CHECK-NEXT: blr entry: - %va = alloca i8*, align 8 - %va1 = bitcast i8** %va to i8* - call void @llvm.va_start(i8* %va1) - %arg = va_arg i8** %va, ppc_fp128 + %va = alloca ptr, align 8 + call void @llvm.va_start(ptr %va) + %arg = va_arg ptr %va, ppc_fp128 %conv = fptrunc ppc_fp128 %arg to double ret double %conv } diff --git a/llvm/test/CodeGen/PowerPC/ppcf128sf.ll b/llvm/test/CodeGen/PowerPC/ppcf128sf.ll index fde7d48..e9e718c 100644 --- a/llvm/test/CodeGen/PowerPC/ppcf128sf.ll +++ b/llvm/test/CodeGen/PowerPC/ppcf128sf.ll @@ -11,22 +11,22 @@ define void @foo() #0 { entry: %c = alloca ppc_fp128, align 16 - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %add = fadd ppc_fp128 %0, %1 - store volatile ppc_fp128 %add, ppc_fp128* %c, align 16 - %2 = load ppc_fp128, ppc_fp128* @ld, align 16 - %3 = load ppc_fp128, ppc_fp128* @ld2, align 16 + store volatile ppc_fp128 %add, ptr %c, align 16 + %2 = load ppc_fp128, ptr @ld, align 16 + %3 = load ppc_fp128, ptr @ld2, align 16 %sub = fsub ppc_fp128 %2, %3 - store volatile ppc_fp128 %sub, ppc_fp128* %c, align 16 - %4 = load ppc_fp128, ppc_fp128* @ld, align 16 - %5 = load ppc_fp128, ppc_fp128* @ld2, align 16 + store volatile ppc_fp128 %sub, ptr %c, align 16 + %4 = load ppc_fp128, ptr @ld, align 16 + %5 = load ppc_fp128, ptr @ld2, align 16 %mul = fmul ppc_fp128 %4, %5 - store volatile ppc_fp128 %mul, ppc_fp128* %c, align 16 - %6 = load ppc_fp128, ppc_fp128* @ld, align 16 - %7 = load ppc_fp128, ppc_fp128* @ld2, align 16 + store volatile ppc_fp128 %mul, ptr %c, align 16 + %6 = load ppc_fp128, ptr @ld, align 16 + %7 = load ppc_fp128, ptr @ld2, align 16 %div = fdiv ppc_fp128 %6, %7 - store volatile ppc_fp128 %div, ppc_fp128* %c, align 16 + store volatile ppc_fp128 %div, ptr %c, align 16 ret void ; CHECK-LABEL: __gcc_qadd @@ -37,9 +37,9 @@ entry: define void @foo1() #0 { entry: - %0 = load double, double* @d, align 8 + %0 = load double, ptr @d, align 8 %conv = fpext double %0 to ppc_fp128 - store ppc_fp128 %conv, ppc_fp128* @ld, align 16 + store ppc_fp128 %conv, ptr @ld, align 16 ret void ; CHECK-LABEL: __gcc_dtoq @@ -47,9 +47,9 @@ entry: define void @foo2() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 %conv = fptrunc ppc_fp128 %0 to double - store double %conv, double* @d, align 8 + store double %conv, ptr @d, align 8 ret void ; CHECK-LABEL: __gcc_qtod @@ -57,9 +57,9 @@ entry: define void @foo3() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 %conv = fptrunc ppc_fp128 %0 to float - store float %conv, float* @f, align 4 + store float %conv, ptr @f, align 4 ret void ; CHECK-LABEL: __gcc_qtos @@ -67,9 +67,9 @@ entry: define void @foo4() #0 { entry: - %0 = load i32, i32* @i, align 4 + %0 = load i32, ptr @i, align 4 %conv = sitofp i32 %0 to ppc_fp128 - store ppc_fp128 %conv, ppc_fp128* @ld, align 16 + store ppc_fp128 %conv, ptr @ld, align 16 ret void ; CHECK-LABEL: __gcc_itoq @@ -77,9 +77,9 @@ entry: define void @foo5() #0 { entry: - %0 = load i32, i32* @ui, align 4 + %0 = load i32, ptr @ui, align 4 %conv = uitofp i32 %0 to ppc_fp128 - store ppc_fp128 %conv, ppc_fp128* @ld, align 16 + store ppc_fp128 %conv, ptr @ld, align 16 ret void ; CHECK-LABEL: __gcc_utoq @@ -87,12 +87,12 @@ entry: define void @foo6() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %cmp = fcmp oeq ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qeq @@ -100,12 +100,12 @@ entry: define void @foo7() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %cmp = fcmp une ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qne @@ -113,12 +113,12 @@ entry: define void @foo8() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %cmp = fcmp ogt ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qgt @@ -126,12 +126,12 @@ entry: define void @foo9() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %cmp = fcmp olt ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qlt @@ -139,12 +139,12 @@ entry: define void @foo10() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %cmp = fcmp ole ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qle @@ -152,12 +152,12 @@ entry: define void @foo11() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld, align 16 %cmp = fcmp une ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qunord @@ -165,12 +165,12 @@ entry: define void @foo12() #0 { entry: - %0 = load ppc_fp128, ppc_fp128* @ld, align 16 - %1 = load ppc_fp128, ppc_fp128* @ld2, align 16 + %0 = load ppc_fp128, ptr @ld, align 16 + %1 = load ppc_fp128, ptr @ld2, align 16 %cmp = fcmp oge ppc_fp128 %0, %1 %conv = zext i1 %cmp to i32 %conv1 = trunc i32 %conv to i8 - store i8 %conv1, i8* @var, align 1 + store i8 %conv1, ptr @var, align 1 ret void ; CHECK-LABEL: __gcc_qge diff --git a/llvm/test/CodeGen/PowerPC/ppcsoftops.ll b/llvm/test/CodeGen/PowerPC/ppcsoftops.ll index 5ecfbb4..2643f24 100644 --- a/llvm/test/CodeGen/PowerPC/ppcsoftops.ll +++ b/llvm/test/CodeGen/PowerPC/ppcsoftops.ll @@ -7,8 +7,8 @@ define double @foo() #0 { entry: %a = alloca double, align 8 %b = alloca double, align 8 - %0 = load double, double* %a, align 8 - %1 = load double, double* %b, align 8 + %0 = load double, ptr %a, align 8 + %1 = load double, ptr %b, align 8 %add = fadd double %0, %1 ret double %add @@ -19,8 +19,8 @@ define double @foo1() #0 { entry: %a = alloca double, align 8 %b = alloca double, align 8 - %0 = load double, double* %a, align 8 - %1 = load double, double* %b, align 8 + %0 = load double, ptr %a, align 8 + %1 = load double, ptr %b, align 8 %mul = fmul double %0, %1 ret double %mul @@ -31,8 +31,8 @@ define double @foo2() #0 { entry: %a = alloca double, align 8 %b = alloca double, align 8 - %0 = load double, double* %a, align 8 - %1 = load double, double* %b, align 8 + %0 = load double, ptr %a, align 8 + %1 = load double, ptr %b, align 8 %sub = fsub double %0, %1 ret double %sub @@ -43,8 +43,8 @@ define double @foo3() #0 { entry: %a = alloca double, align 8 %b = alloca double, align 8 - %0 = load double, double* %a, align 8 - %1 = load double, double* %b, align 8 + %0 = load double, ptr %a, align 8 + %1 = load double, ptr %b, align 8 %div = fdiv double %0, %1 ret double %div diff --git a/llvm/test/CodeGen/PowerPC/pr13891.ll b/llvm/test/CodeGen/PowerPC/pr13891.ll index 816166a..93a8a42 100644 --- a/llvm/test/CodeGen/PowerPC/pr13891.ll +++ b/llvm/test/CodeGen/PowerPC/pr13891.ll @@ -4,14 +4,13 @@ target triple = "powerpc64-unknown-linux-gnu" %struct.foo = type { i8, i8 } -define void @_Z5check3foos(%struct.foo* nocapture byval(%struct.foo) %f, i16 signext %i) noinline { +define void @_Z5check3foos(ptr nocapture byval(%struct.foo) %f, i16 signext %i) noinline { ; CHECK-LABEL: _Z5check3foos: ; CHECK: sth 3, {{[0-9]+}}(1) ; CHECK: lbz {{[0-9]+}}, {{[0-9]+}}(1) entry: - %0 = bitcast %struct.foo* %f to i16* - %1 = load i16, i16* %0, align 2 - %bf.val.sext = ashr i16 %1, 8 + %0 = load i16, ptr %f, align 2 + %bf.val.sext = ashr i16 %0, 8 %cmp = icmp eq i16 %bf.val.sext, %i br i1 %cmp, label %if.end, label %if.then diff --git a/llvm/test/CodeGen/PowerPC/pr15031.ll b/llvm/test/CodeGen/PowerPC/pr15031.ll index 8c4c8f4..3c0010b 100644 --- a/llvm/test/CodeGen/PowerPC/pr15031.ll +++ b/llvm/test/CodeGen/PowerPC/pr15031.ll @@ -16,176 +16,176 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" target triple = "powerpc64-unknown-linux-gnu" -%"class.llvm::MachineMemOperand" = type { %"struct.llvm::MachinePointerInfo", i64, i32, %"class.llvm::MDNode"*, %"class.llvm::MDNode"* } -%"struct.llvm::MachinePointerInfo" = type { %"class.llvm::Value"*, i64 } -%"class.llvm::Value" = type { i32 (...)**, i8, i8, i16, %"class.llvm::Type"*, %"class.llvm::Use"*, %"class.llvm::StringMapEntry"* } -%"class.llvm::Type" = type { %"class.llvm::LLVMContext"*, i32, i32, %"class.llvm::Type"** } -%"class.llvm::LLVMContext" = type { %"class.llvm::LLVMContextImpl"* } +%"class.llvm::MachineMemOperand" = type { %"struct.llvm::MachinePointerInfo", i64, i32, ptr, ptr } +%"struct.llvm::MachinePointerInfo" = type { ptr, i64 } +%"class.llvm::Value" = type { ptr, i8, i8, i16, ptr, ptr, ptr } +%"class.llvm::Type" = type { ptr, i32, i32, ptr } +%"class.llvm::LLVMContext" = type { ptr } %"class.llvm::LLVMContextImpl" = type opaque -%"class.llvm::Use" = type { %"class.llvm::Value"*, %"class.llvm::Use"*, %"class.llvm::PointerIntPair" } +%"class.llvm::Use" = type { ptr, ptr, %"class.llvm::PointerIntPair" } %"class.llvm::PointerIntPair" = type { i64 } %"class.llvm::StringMapEntry" = type opaque %"class.llvm::MDNode" = type { %"class.llvm::Value", %"class.llvm::FoldingSetImpl::Node", i32, i32 } -%"class.llvm::FoldingSetImpl::Node" = type { i8* } -%"class.llvm::MachineInstr" = type { %"class.llvm::ilist_node", %"class.llvm::MCInstrDesc"*, %"class.llvm::MachineBasicBlock"*, %"class.llvm::MachineOperand"*, i32, %"class.llvm::ArrayRecycler::Capacity", i8, i8, i8, %"class.llvm::MachineMemOperand"**, %"class.llvm::DebugLoc" } -%"class.llvm::ilist_node" = type { %"class.llvm::ilist_half_node", %"class.llvm::MachineInstr"* } -%"class.llvm::ilist_half_node" = type { %"class.llvm::MachineInstr"* } -%"class.llvm::MCInstrDesc" = type { i16, i16, i16, i16, i16, i32, i64, i16*, i16*, %"class.llvm::MCOperandInfo"* } +%"class.llvm::FoldingSetImpl::Node" = type { ptr } +%"class.llvm::MachineInstr" = type { %"class.llvm::ilist_node", ptr, ptr, ptr, i32, %"class.llvm::ArrayRecycler::Capacity", i8, i8, i8, ptr, %"class.llvm::DebugLoc" } +%"class.llvm::ilist_node" = type { %"class.llvm::ilist_half_node", ptr } +%"class.llvm::ilist_half_node" = type { ptr } +%"class.llvm::MCInstrDesc" = type { i16, i16, i16, i16, i16, i32, i64, ptr, ptr, ptr } %"class.llvm::MCOperandInfo" = type { i16, i8, i8, i32 } -%"class.llvm::MachineBasicBlock" = type { %"class.llvm::ilist_node.0", %"struct.llvm::ilist", %"class.llvm::BasicBlock"*, i32, %"class.llvm::MachineFunction"*, %"class.std::vector.163", %"class.std::vector.163", %"class.std::vector.123", %"class.std::vector.123", i32, i8, i8 } -%"class.llvm::ilist_node.0" = type { %"class.llvm::ilist_half_node.1", %"class.llvm::MachineBasicBlock"* } -%"class.llvm::ilist_half_node.1" = type { %"class.llvm::MachineBasicBlock"* } +%"class.llvm::MachineBasicBlock" = type { %"class.llvm::ilist_node.0", %"struct.llvm::ilist", ptr, i32, ptr, %"class.std::vector.163", %"class.std::vector.163", %"class.std::vector.123", %"class.std::vector.123", i32, i8, i8 } +%"class.llvm::ilist_node.0" = type { %"class.llvm::ilist_half_node.1", ptr } +%"class.llvm::ilist_half_node.1" = type { ptr } %"struct.llvm::ilist" = type { %"class.llvm::iplist" } -%"class.llvm::iplist" = type { %"struct.llvm::ilist_traits", %"class.llvm::MachineInstr"* } -%"struct.llvm::ilist_traits" = type { %"class.llvm::ilist_half_node", %"class.llvm::MachineBasicBlock"* } -%"class.llvm::BasicBlock" = type { %"class.llvm::Value", %"class.llvm::ilist_node.2", %"class.llvm::iplist.4", %"class.llvm::Function"* } -%"class.llvm::ilist_node.2" = type { %"class.llvm::ilist_half_node.3", %"class.llvm::BasicBlock"* } -%"class.llvm::ilist_half_node.3" = type { %"class.llvm::BasicBlock"* } -%"class.llvm::iplist.4" = type { %"struct.llvm::ilist_traits.5", %"class.llvm::Instruction"* } +%"class.llvm::iplist" = type { %"struct.llvm::ilist_traits", ptr } +%"struct.llvm::ilist_traits" = type { %"class.llvm::ilist_half_node", ptr } +%"class.llvm::BasicBlock" = type { %"class.llvm::Value", %"class.llvm::ilist_node.2", %"class.llvm::iplist.4", ptr } +%"class.llvm::ilist_node.2" = type { %"class.llvm::ilist_half_node.3", ptr } +%"class.llvm::ilist_half_node.3" = type { ptr } +%"class.llvm::iplist.4" = type { %"struct.llvm::ilist_traits.5", ptr } %"struct.llvm::ilist_traits.5" = type { %"class.llvm::ilist_half_node.10" } -%"class.llvm::ilist_half_node.10" = type { %"class.llvm::Instruction"* } -%"class.llvm::Instruction" = type { %"class.llvm::User", %"class.llvm::ilist_node.193", %"class.llvm::BasicBlock"*, %"class.llvm::DebugLoc" } -%"class.llvm::User" = type { %"class.llvm::Value", %"class.llvm::Use"*, i32 } -%"class.llvm::ilist_node.193" = type { %"class.llvm::ilist_half_node.10", %"class.llvm::Instruction"* } +%"class.llvm::ilist_half_node.10" = type { ptr } +%"class.llvm::Instruction" = type { %"class.llvm::User", %"class.llvm::ilist_node.193", ptr, %"class.llvm::DebugLoc" } +%"class.llvm::User" = type { %"class.llvm::Value", ptr, i32 } +%"class.llvm::ilist_node.193" = type { %"class.llvm::ilist_half_node.10", ptr } %"class.llvm::DebugLoc" = type { i32, i32 } -%"class.llvm::Function" = type { %"class.llvm::GlobalValue", %"class.llvm::ilist_node.27", %"class.llvm::iplist.47", %"class.llvm::iplist.54", %"class.llvm::ValueSymbolTable"*, %"class.llvm::AttributeSet" } -%"class.llvm::GlobalValue" = type { [52 x i8], [4 x i8], %"class.llvm::Module"*, %"class.std::basic_string" } -%"class.llvm::Module" = type { %"class.llvm::LLVMContext"*, %"class.llvm::iplist.11", %"class.llvm::iplist.20", %"class.llvm::iplist.29", %"struct.llvm::ilist.38", %"class.std::basic_string", %"class.llvm::ValueSymbolTable"*, %"class.llvm::OwningPtr", %"class.std::basic_string", %"class.std::basic_string", %"class.std::basic_string", i8* } -%"class.llvm::iplist.11" = type { %"struct.llvm::ilist_traits.12", %"class.llvm::GlobalVariable"* } +%"class.llvm::Function" = type { %"class.llvm::GlobalValue", %"class.llvm::ilist_node.27", %"class.llvm::iplist.47", %"class.llvm::iplist.54", ptr, %"class.llvm::AttributeSet" } +%"class.llvm::GlobalValue" = type { [52 x i8], [4 x i8], ptr, %"class.std::basic_string" } +%"class.llvm::Module" = type { ptr, %"class.llvm::iplist.11", %"class.llvm::iplist.20", %"class.llvm::iplist.29", %"struct.llvm::ilist.38", %"class.std::basic_string", ptr, %"class.llvm::OwningPtr", %"class.std::basic_string", %"class.std::basic_string", %"class.std::basic_string", ptr } +%"class.llvm::iplist.11" = type { %"struct.llvm::ilist_traits.12", ptr } %"struct.llvm::ilist_traits.12" = type { %"class.llvm::ilist_node.18" } -%"class.llvm::ilist_node.18" = type { %"class.llvm::ilist_half_node.19", %"class.llvm::GlobalVariable"* } -%"class.llvm::ilist_half_node.19" = type { %"class.llvm::GlobalVariable"* } +%"class.llvm::ilist_node.18" = type { %"class.llvm::ilist_half_node.19", ptr } +%"class.llvm::ilist_half_node.19" = type { ptr } %"class.llvm::GlobalVariable" = type { %"class.llvm::GlobalValue", %"class.llvm::ilist_node.18", i8 } -%"class.llvm::iplist.20" = type { %"struct.llvm::ilist_traits.21", %"class.llvm::Function"* } +%"class.llvm::iplist.20" = type { %"struct.llvm::ilist_traits.21", ptr } %"struct.llvm::ilist_traits.21" = type { %"class.llvm::ilist_node.27" } -%"class.llvm::ilist_node.27" = type { %"class.llvm::ilist_half_node.28", %"class.llvm::Function"* } -%"class.llvm::ilist_half_node.28" = type { %"class.llvm::Function"* } -%"class.llvm::iplist.29" = type { %"struct.llvm::ilist_traits.30", %"class.llvm::GlobalAlias"* } +%"class.llvm::ilist_node.27" = type { %"class.llvm::ilist_half_node.28", ptr } +%"class.llvm::ilist_half_node.28" = type { ptr } +%"class.llvm::iplist.29" = type { %"struct.llvm::ilist_traits.30", ptr } %"struct.llvm::ilist_traits.30" = type { %"class.llvm::ilist_node.36" } -%"class.llvm::ilist_node.36" = type { %"class.llvm::ilist_half_node.37", %"class.llvm::GlobalAlias"* } -%"class.llvm::ilist_half_node.37" = type { %"class.llvm::GlobalAlias"* } +%"class.llvm::ilist_node.36" = type { %"class.llvm::ilist_half_node.37", ptr } +%"class.llvm::ilist_half_node.37" = type { ptr } %"class.llvm::GlobalAlias" = type { %"class.llvm::GlobalValue", %"class.llvm::ilist_node.36" } %"struct.llvm::ilist.38" = type { %"class.llvm::iplist.39" } -%"class.llvm::iplist.39" = type { %"struct.llvm::ilist_traits.40", %"class.llvm::NamedMDNode"* } +%"class.llvm::iplist.39" = type { %"struct.llvm::ilist_traits.40", ptr } %"struct.llvm::ilist_traits.40" = type { %"class.llvm::ilist_node.45" } -%"class.llvm::ilist_node.45" = type { %"class.llvm::ilist_half_node.46", %"class.llvm::NamedMDNode"* } -%"class.llvm::ilist_half_node.46" = type { %"class.llvm::NamedMDNode"* } -%"class.llvm::NamedMDNode" = type { %"class.llvm::ilist_node.45", %"class.std::basic_string", %"class.llvm::Module"*, i8* } +%"class.llvm::ilist_node.45" = type { %"class.llvm::ilist_half_node.46", ptr } +%"class.llvm::ilist_half_node.46" = type { ptr } +%"class.llvm::NamedMDNode" = type { %"class.llvm::ilist_node.45", %"class.std::basic_string", ptr, ptr } %"class.std::basic_string" = type { %"struct.std::basic_string, std::allocator >::_Alloc_hider" } -%"struct.std::basic_string, std::allocator >::_Alloc_hider" = type { i8* } +%"struct.std::basic_string, std::allocator >::_Alloc_hider" = type { ptr } %"class.llvm::ValueSymbolTable" = type opaque -%"class.llvm::OwningPtr" = type { %"class.llvm::GVMaterializer"* } +%"class.llvm::OwningPtr" = type { ptr } %"class.llvm::GVMaterializer" = type opaque -%"class.llvm::iplist.47" = type { %"struct.llvm::ilist_traits.48", %"class.llvm::BasicBlock"* } +%"class.llvm::iplist.47" = type { %"struct.llvm::ilist_traits.48", ptr } %"struct.llvm::ilist_traits.48" = type { %"class.llvm::ilist_half_node.3" } -%"class.llvm::iplist.54" = type { %"struct.llvm::ilist_traits.55", %"class.llvm::Argument"* } +%"class.llvm::iplist.54" = type { %"struct.llvm::ilist_traits.55", ptr } %"struct.llvm::ilist_traits.55" = type { %"class.llvm::ilist_half_node.61" } -%"class.llvm::ilist_half_node.61" = type { %"class.llvm::Argument"* } -%"class.llvm::Argument" = type { %"class.llvm::Value", %"class.llvm::ilist_node.192", %"class.llvm::Function"* } -%"class.llvm::ilist_node.192" = type { %"class.llvm::ilist_half_node.61", %"class.llvm::Argument"* } -%"class.llvm::AttributeSet" = type { %"class.llvm::AttributeSetImpl"* } +%"class.llvm::ilist_half_node.61" = type { ptr } +%"class.llvm::Argument" = type { %"class.llvm::Value", %"class.llvm::ilist_node.192", ptr } +%"class.llvm::ilist_node.192" = type { %"class.llvm::ilist_half_node.61", ptr } +%"class.llvm::AttributeSet" = type { ptr } %"class.llvm::AttributeSetImpl" = type opaque -%"class.llvm::MachineFunction" = type { %"class.llvm::Function"*, %"class.llvm::TargetMachine"*, %"class.llvm::MCContext"*, %"class.llvm::MachineModuleInfo"*, %"class.llvm::GCModuleInfo"*, %"class.llvm::MachineRegisterInfo"*, %"struct.llvm::MachineFunctionInfo"*, %"class.llvm::MachineFrameInfo"*, %"class.llvm::MachineConstantPool"*, %"class.llvm::MachineJumpTableInfo"*, %"class.std::vector.163", %"class.llvm::BumpPtrAllocator", %"class.llvm::Recycler", %"class.llvm::ArrayRecycler", %"class.llvm::Recycler.180", %"struct.llvm::ilist.181", i32, i32, i8 } -%"class.llvm::TargetMachine" = type { i32 (...)**, %"class.llvm::Target"*, %"class.std::basic_string", %"class.std::basic_string", %"class.std::basic_string", %"class.llvm::MCCodeGenInfo"*, %"class.llvm::MCAsmInfo"*, i8, %"class.llvm::TargetOptions" } +%"class.llvm::MachineFunction" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::vector.163", %"class.llvm::BumpPtrAllocator", %"class.llvm::Recycler", %"class.llvm::ArrayRecycler", %"class.llvm::Recycler.180", %"struct.llvm::ilist.181", i32, i32, i8 } +%"class.llvm::TargetMachine" = type { ptr, ptr, %"class.std::basic_string", %"class.std::basic_string", %"class.std::basic_string", ptr, ptr, i8, %"class.llvm::TargetOptions" } %"class.llvm::Target" = type opaque %"class.llvm::MCCodeGenInfo" = type opaque %"class.llvm::MCAsmInfo" = type opaque %"class.llvm::TargetOptions" = type { [2 x i8], i32, i8, i32, i8, %"class.std::basic_string", i32, i32 } -%"class.llvm::MCContext" = type { %"class.llvm::SourceMgr"*, %"class.llvm::MCAsmInfo"*, %"class.llvm::MCRegisterInfo"*, %"class.llvm::MCObjectFileInfo"*, %"class.llvm::BumpPtrAllocator", %"class.llvm::StringMap", %"class.llvm::StringMap.62", i32, %"class.llvm::DenseMap.63", i8*, %"class.llvm::raw_ostream"*, i8, %"class.std::basic_string", %"class.std::basic_string", %"class.std::vector", %"class.std::vector.70", %"class.llvm::MCDwarfLoc", i8, i8, i32, %"class.llvm::MCSection"*, %"class.llvm::MCSymbol"*, %"class.llvm::MCSymbol"*, %"class.std::vector.75", %"class.llvm::StringRef", %"class.llvm::StringRef", i8, %"class.llvm::DenseMap.80", %"class.std::vector.84", i8*, i8*, i8*, i8 } +%"class.llvm::MCContext" = type { ptr, ptr, ptr, ptr, %"class.llvm::BumpPtrAllocator", %"class.llvm::StringMap", %"class.llvm::StringMap.62", i32, %"class.llvm::DenseMap.63", ptr, ptr, i8, %"class.std::basic_string", %"class.std::basic_string", %"class.std::vector", %"class.std::vector.70", %"class.llvm::MCDwarfLoc", i8, i8, i32, ptr, ptr, ptr, %"class.std::vector.75", %"class.llvm::StringRef", %"class.llvm::StringRef", i8, %"class.llvm::DenseMap.80", %"class.std::vector.84", ptr, ptr, ptr, i8 } %"class.llvm::SourceMgr" = type opaque -%"class.llvm::MCRegisterInfo" = type { %"struct.llvm::MCRegisterDesc"*, i32, i32, i32, %"class.llvm::MCRegisterClass"*, i32, i32, [2 x i16]*, i16*, i8*, i16*, i32, i16*, i32, i32, i32, i32, %"struct.llvm::MCRegisterInfo::DwarfLLVMRegPair"*, %"struct.llvm::MCRegisterInfo::DwarfLLVMRegPair"*, %"struct.llvm::MCRegisterInfo::DwarfLLVMRegPair"*, %"struct.llvm::MCRegisterInfo::DwarfLLVMRegPair"*, %"class.llvm::DenseMap" } +%"class.llvm::MCRegisterInfo" = type { ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, ptr, ptr, i32, ptr, i32, i32, i32, i32, ptr, ptr, ptr, ptr, %"class.llvm::DenseMap" } %"struct.llvm::MCRegisterDesc" = type { i32, i32, i32, i32, i32, i32 } -%"class.llvm::MCRegisterClass" = type { i8*, i16*, i8*, i16, i16, i16, i16, i16, i8, i8 } +%"class.llvm::MCRegisterClass" = type { ptr, ptr, ptr, i16, i16, i16, i16, i16, i8, i8 } %"struct.llvm::MCRegisterInfo::DwarfLLVMRegPair" = type { i32, i32 } -%"class.llvm::DenseMap" = type { %"struct.std::pair"*, i32, i32, i32 } +%"class.llvm::DenseMap" = type { ptr, i32, i32, i32 } %"struct.std::pair" = type { i32, i32 } %"class.llvm::MCObjectFileInfo" = type opaque -%"class.llvm::BumpPtrAllocator" = type { i64, i64, %"class.llvm::SlabAllocator"*, %"class.llvm::MemSlab"*, i8*, i8*, i64 } -%"class.llvm::SlabAllocator" = type { i32 (...)** } -%"class.llvm::MemSlab" = type { i64, %"class.llvm::MemSlab"* } -%"class.llvm::StringMap" = type { %"class.llvm::StringMapImpl", %"class.llvm::BumpPtrAllocator"* } -%"class.llvm::StringMapImpl" = type { %"class.llvm::StringMapEntryBase"**, i32, i32, i32, i32 } +%"class.llvm::BumpPtrAllocator" = type { i64, i64, ptr, ptr, ptr, ptr, i64 } +%"class.llvm::SlabAllocator" = type { ptr } +%"class.llvm::MemSlab" = type { i64, ptr } +%"class.llvm::StringMap" = type { %"class.llvm::StringMapImpl", ptr } +%"class.llvm::StringMapImpl" = type { ptr, i32, i32, i32, i32 } %"class.llvm::StringMapEntryBase" = type { i32 } -%"class.llvm::StringMap.62" = type { %"class.llvm::StringMapImpl", %"class.llvm::BumpPtrAllocator"* } -%"class.llvm::DenseMap.63" = type { %"struct.std::pair.66"*, i32, i32, i32 } +%"class.llvm::StringMap.62" = type { %"class.llvm::StringMapImpl", ptr } +%"class.llvm::DenseMap.63" = type { ptr, i32, i32, i32 } %"struct.std::pair.66" = type opaque -%"class.llvm::raw_ostream" = type { i32 (...)**, i8*, i8*, i8*, i32 } +%"class.llvm::raw_ostream" = type { ptr, ptr, ptr, ptr, i32 } %"class.std::vector" = type { %"struct.std::_Vector_base" } %"struct.std::_Vector_base" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MCDwarfFile"**, %"class.llvm::MCDwarfFile"**, %"class.llvm::MCDwarfFile"** } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } %"class.llvm::MCDwarfFile" = type { %"class.llvm::StringRef", i32 } -%"class.llvm::StringRef" = type { i8*, i64 } +%"class.llvm::StringRef" = type { ptr, i64 } %"class.std::vector.70" = type { %"struct.std::_Vector_base.71" } %"struct.std::_Vector_base.71" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::StringRef"*, %"class.llvm::StringRef"*, %"class.llvm::StringRef"* } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } %"class.llvm::MCDwarfLoc" = type { i32, i32, i32, i32, i32, i32 } %"class.llvm::MCSection" = type opaque -%"class.llvm::MCSymbol" = type { %"class.llvm::StringRef", %"class.llvm::MCSection"*, %"class.llvm::MCExpr"*, i8 } +%"class.llvm::MCSymbol" = type { %"class.llvm::StringRef", ptr, ptr, i8 } %"class.llvm::MCExpr" = type opaque %"class.std::vector.75" = type { %"struct.std::_Vector_base.76" } %"struct.std::_Vector_base.76" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MCGenDwarfLabelEntry"**, %"class.llvm::MCGenDwarfLabelEntry"**, %"class.llvm::MCGenDwarfLabelEntry"** } -%"class.llvm::MCGenDwarfLabelEntry" = type { %"class.llvm::StringRef", i32, i32, %"class.llvm::MCSymbol"* } -%"class.llvm::DenseMap.80" = type { %"struct.std::pair.83"*, i32, i32, i32 } -%"struct.std::pair.83" = type { %"class.llvm::MCSection"*, %"class.llvm::MCLineSection"* } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::MCGenDwarfLabelEntry" = type { %"class.llvm::StringRef", i32, i32, ptr } +%"class.llvm::DenseMap.80" = type { ptr, i32, i32, i32 } +%"struct.std::pair.83" = type { ptr, ptr } %"class.llvm::MCLineSection" = type { %"class.std::vector.215" } %"class.std::vector.215" = type { %"struct.std::_Vector_base.216" } %"struct.std::_Vector_base.216" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MCLineEntry"*, %"class.llvm::MCLineEntry"*, %"class.llvm::MCLineEntry"* } -%"class.llvm::MCLineEntry" = type { %"class.llvm::MCDwarfLoc", %"class.llvm::MCSymbol"* } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::MCLineEntry" = type { %"class.llvm::MCDwarfLoc", ptr } %"class.std::vector.84" = type { %"struct.std::_Vector_base.85" } %"struct.std::_Vector_base.85" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MCSection"**, %"class.llvm::MCSection"**, %"class.llvm::MCSection"** } -%"class.llvm::MachineModuleInfo" = type { %"class.llvm::ImmutablePass", %"class.llvm::MCContext", %"class.llvm::Module"*, %"class.llvm::MachineModuleInfoImpl"*, %"class.std::vector.95", i32, %"class.std::vector.100", %"class.llvm::DenseMap.110", %"class.llvm::DenseMap.114", i32, %"class.std::vector.118", %"class.std::vector.123", %"class.std::vector.123", %"class.std::vector.128", %"class.llvm::SmallPtrSet", %"class.llvm::MMIAddrLabelMap"*, i8, i8, i8, i8, %"class.llvm::SmallVector.133" } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::MachineModuleInfo" = type { %"class.llvm::ImmutablePass", %"class.llvm::MCContext", ptr, ptr, %"class.std::vector.95", i32, %"class.std::vector.100", %"class.llvm::DenseMap.110", %"class.llvm::DenseMap.114", i32, %"class.std::vector.118", %"class.std::vector.123", %"class.std::vector.123", %"class.std::vector.128", %"class.llvm::SmallPtrSet", ptr, i8, i8, i8, i8, %"class.llvm::SmallVector.133" } %"class.llvm::ImmutablePass" = type { %"class.llvm::ModulePass" } %"class.llvm::ModulePass" = type { %"class.llvm::Pass" } -%"class.llvm::Pass" = type { i32 (...)**, %"class.llvm::AnalysisResolver"*, i8*, i32 } -%"class.llvm::AnalysisResolver" = type { %"class.std::vector.89", %"class.llvm::PMDataManager"* } +%"class.llvm::Pass" = type { ptr, ptr, ptr, i32 } +%"class.llvm::AnalysisResolver" = type { %"class.std::vector.89", ptr } %"class.std::vector.89" = type { %"struct.std::_Vector_base.90" } -%"struct.std::_Vector_base.90" = type { %"struct.std::_Vector_base, std::allocator > >::_Vector_impl" } -%"struct.std::_Vector_base, std::allocator > >::_Vector_impl" = type { %"struct.std::pair.94"*, %"struct.std::pair.94"*, %"struct.std::pair.94"* } -%"struct.std::pair.94" = type { i8*, %"class.llvm::Pass"* } +%"struct.std::_Vector_base.90" = type { %"struct.std::_Vector_base, std::allocator > >::_Vector_impl" } +%"struct.std::_Vector_base, std::allocator > >::_Vector_impl" = type { ptr, ptr, ptr } +%"struct.std::pair.94" = type { ptr, ptr } %"class.llvm::PMDataManager" = type opaque -%"class.llvm::MachineModuleInfoImpl" = type { i32 (...)** } +%"class.llvm::MachineModuleInfoImpl" = type { ptr } %"class.std::vector.95" = type { %"struct.std::_Vector_base.96" } %"struct.std::_Vector_base.96" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MachineMove"*, %"class.llvm::MachineMove"*, %"class.llvm::MachineMove"* } -%"class.llvm::MachineMove" = type { %"class.llvm::MCSymbol"*, %"class.llvm::MachineLocation", %"class.llvm::MachineLocation" } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::MachineMove" = type { ptr, %"class.llvm::MachineLocation", %"class.llvm::MachineLocation" } %"class.llvm::MachineLocation" = type { i8, i32, i32 } %"class.std::vector.100" = type { %"struct.std::_Vector_base.101" } %"struct.std::_Vector_base.101" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"struct.llvm::LandingPadInfo"*, %"struct.llvm::LandingPadInfo"*, %"struct.llvm::LandingPadInfo"* } -%"struct.llvm::LandingPadInfo" = type { %"class.llvm::MachineBasicBlock"*, %"class.llvm::SmallVector", %"class.llvm::SmallVector", %"class.llvm::MCSymbol"*, %"class.llvm::Function"*, %"class.std::vector.105" } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"struct.llvm::LandingPadInfo" = type { ptr, %"class.llvm::SmallVector", %"class.llvm::SmallVector", ptr, ptr, %"class.std::vector.105" } %"class.llvm::SmallVector" = type { %"class.llvm::SmallVectorImpl", %"struct.llvm::SmallVectorStorage" } %"class.llvm::SmallVectorImpl" = type { %"class.llvm::SmallVectorTemplateBase" } %"class.llvm::SmallVectorTemplateBase" = type { %"class.llvm::SmallVectorTemplateCommon" } %"class.llvm::SmallVectorTemplateCommon" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion" } -%"class.llvm::SmallVectorBase" = type { i8*, i8*, i8* } +%"class.llvm::SmallVectorBase" = type { ptr, ptr, ptr } %"struct.llvm::AlignedCharArrayUnion" = type { %"struct.llvm::AlignedCharArray" } %"struct.llvm::AlignedCharArray" = type { [8 x i8] } %"struct.llvm::SmallVectorStorage" = type { i8 } %"class.std::vector.105" = type { %"struct.std::_Vector_base.106" } %"struct.std::_Vector_base.106" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { i32*, i32*, i32* } -%"class.llvm::DenseMap.110" = type { %"struct.std::pair.113"*, i32, i32, i32 } -%"struct.std::pair.113" = type { %"class.llvm::MCSymbol"*, %"class.llvm::SmallVector.206" } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::DenseMap.110" = type { ptr, i32, i32, i32 } +%"struct.std::pair.113" = type { ptr, %"class.llvm::SmallVector.206" } %"class.llvm::SmallVector.206" = type { [28 x i8], %"struct.llvm::SmallVectorStorage.207" } %"struct.llvm::SmallVectorStorage.207" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.198"] } %"struct.llvm::AlignedCharArrayUnion.198" = type { %"struct.llvm::AlignedCharArray.199" } %"struct.llvm::AlignedCharArray.199" = type { [4 x i8] } -%"class.llvm::DenseMap.114" = type { %"struct.std::pair.117"*, i32, i32, i32 } -%"struct.std::pair.117" = type { %"class.llvm::MCSymbol"*, i32 } +%"class.llvm::DenseMap.114" = type { ptr, i32, i32, i32 } +%"struct.std::pair.117" = type { ptr, i32 } %"class.std::vector.118" = type { %"struct.std::_Vector_base.119" } %"struct.std::_Vector_base.119" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::GlobalVariable"**, %"class.llvm::GlobalVariable"**, %"class.llvm::GlobalVariable"** } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } %"class.std::vector.123" = type { %"struct.std::_Vector_base.124" } %"struct.std::_Vector_base.124" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { i32*, i32*, i32* } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } %"class.std::vector.128" = type { %"struct.std::_Vector_base.129" } %"struct.std::_Vector_base.129" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::Function"**, %"class.llvm::Function"**, %"class.llvm::Function"** } -%"class.llvm::SmallPtrSet" = type { %"class.llvm::SmallPtrSetImpl", [33 x i8*] } -%"class.llvm::SmallPtrSetImpl" = type { i8**, i8**, i32, i32, i32 } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } +%"class.llvm::SmallPtrSet" = type { %"class.llvm::SmallPtrSetImpl", [33 x ptr] } +%"class.llvm::SmallPtrSetImpl" = type { ptr, ptr, i32, i32, i32 } %"class.llvm::MMIAddrLabelMap" = type opaque %"class.llvm::SmallVector.133" = type { %"class.llvm::SmallVectorImpl.134", %"struct.llvm::SmallVectorStorage.139" } %"class.llvm::SmallVectorImpl.134" = type { %"class.llvm::SmallVectorTemplateBase.135" } @@ -195,49 +195,49 @@ target triple = "powerpc64-unknown-linux-gnu" %"struct.llvm::AlignedCharArray.138" = type { [40 x i8] } %"struct.llvm::SmallVectorStorage.139" = type { [3 x %"struct.llvm::AlignedCharArrayUnion.137"] } %"class.llvm::GCModuleInfo" = type opaque -%"class.llvm::MachineRegisterInfo" = type { %"class.llvm::TargetRegisterInfo"*, i8, i8, %"class.llvm::IndexedMap", %"class.llvm::IndexedMap.146", %"class.llvm::MachineOperand"**, %"class.llvm::BitVector", %"class.llvm::BitVector", %"class.llvm::BitVector", %"class.std::vector.147", %"class.std::vector.123" } -%"class.llvm::TargetRegisterInfo" = type { i32 (...)**, %"class.llvm::MCRegisterInfo", %"struct.llvm::TargetRegisterInfoDesc"*, i8**, i32*, %"class.llvm::TargetRegisterClass"**, %"class.llvm::TargetRegisterClass"** } +%"class.llvm::MachineRegisterInfo" = type { ptr, i8, i8, %"class.llvm::IndexedMap", %"class.llvm::IndexedMap.146", ptr, %"class.llvm::BitVector", %"class.llvm::BitVector", %"class.llvm::BitVector", %"class.std::vector.147", %"class.std::vector.123" } +%"class.llvm::TargetRegisterInfo" = type { ptr, %"class.llvm::MCRegisterInfo", ptr, ptr, ptr, ptr, ptr } %"struct.llvm::TargetRegisterInfoDesc" = type { i32, i8 } -%"class.llvm::TargetRegisterClass" = type { %"class.llvm::MCRegisterClass"*, i32*, i32*, i16*, %"class.llvm::TargetRegisterClass"**, void (%"class.llvm::ArrayRef"*, %"class.llvm::MachineFunction"*)* } -%"class.llvm::ArrayRef" = type { i16*, i64 } +%"class.llvm::TargetRegisterClass" = type { ptr, ptr, ptr, ptr, ptr, ptr } +%"class.llvm::ArrayRef" = type { ptr, i64 } %"class.llvm::IndexedMap" = type { %"class.std::vector.140", %"struct.std::pair.145", %"struct.llvm::VirtReg2IndexFunctor" } %"class.std::vector.140" = type { %"struct.std::_Vector_base.141" } %"struct.std::_Vector_base.141" = type { %"struct.std::_Vector_base, std::allocator > >::_Vector_impl" } -%"struct.std::_Vector_base, std::allocator > >::_Vector_impl" = type { %"struct.std::pair.145"*, %"struct.std::pair.145"*, %"struct.std::pair.145"* } -%"struct.std::pair.145" = type { %"class.llvm::TargetRegisterClass"*, %"class.llvm::MachineOperand"* } -%"class.llvm::MachineOperand" = type { i8, [3 x i8], %union.anon, %"class.llvm::MachineInstr"*, %union.anon.188 } +%"struct.std::_Vector_base, std::allocator > >::_Vector_impl" = type { ptr, ptr, ptr } +%"struct.std::pair.145" = type { ptr, ptr } +%"class.llvm::MachineOperand" = type { i8, [3 x i8], %union.anon, ptr, %union.anon.188 } %union.anon = type { i32 } %union.anon.188 = type { %struct.anon } -%struct.anon = type { %"class.llvm::MachineOperand"*, %"class.llvm::MachineOperand"* } +%struct.anon = type { ptr, ptr } %"struct.llvm::VirtReg2IndexFunctor" = type { i8 } %"class.llvm::IndexedMap.146" = type { %"class.std::vector.147", %"struct.std::pair.152", %"struct.llvm::VirtReg2IndexFunctor" } %"class.std::vector.147" = type { %"struct.std::_Vector_base.148" } %"struct.std::_Vector_base.148" = type { %"struct.std::_Vector_base, std::allocator > >::_Vector_impl" } -%"struct.std::_Vector_base, std::allocator > >::_Vector_impl" = type { %"struct.std::pair.152"*, %"struct.std::pair.152"*, %"struct.std::pair.152"* } +%"struct.std::_Vector_base, std::allocator > >::_Vector_impl" = type { ptr, ptr, ptr } %"struct.std::pair.152" = type { i32, i32 } -%"class.llvm::BitVector" = type { i64*, i32, i32 } -%"struct.llvm::MachineFunctionInfo" = type { i32 (...)** } +%"class.llvm::BitVector" = type { ptr, i32, i32 } +%"struct.llvm::MachineFunctionInfo" = type { ptr } %"class.llvm::MachineFrameInfo" = type opaque -%"class.llvm::MachineConstantPool" = type { %"class.llvm::DataLayout"*, i32, %"class.std::vector.153", %"class.llvm::DenseSet" } +%"class.llvm::MachineConstantPool" = type { ptr, i32, %"class.std::vector.153", %"class.llvm::DenseSet" } %"class.llvm::DataLayout" = type opaque %"class.std::vector.153" = type { %"struct.std::_Vector_base.154" } %"struct.std::_Vector_base.154" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MachineConstantPoolEntry"*, %"class.llvm::MachineConstantPoolEntry"*, %"class.llvm::MachineConstantPoolEntry"* } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } %"class.llvm::MachineConstantPoolEntry" = type { %union.anon.158, i32 } -%union.anon.158 = type { %"class.llvm::Constant"* } +%union.anon.158 = type { ptr } %"class.llvm::Constant" = type { %"class.llvm::User" } %"class.llvm::DenseSet" = type { %"class.llvm::DenseMap.159" } -%"class.llvm::DenseMap.159" = type { %"struct.std::pair.162"*, i32, i32, i32 } -%"struct.std::pair.162" = type { %"class.llvm::MachineConstantPoolValue"*, i8 } -%"class.llvm::MachineConstantPoolValue" = type { i32 (...)**, %"class.llvm::Type"* } +%"class.llvm::DenseMap.159" = type { ptr, i32, i32, i32 } +%"struct.std::pair.162" = type { ptr, i8 } +%"class.llvm::MachineConstantPoolValue" = type { ptr, ptr } %"class.llvm::MachineJumpTableInfo" = type opaque %"class.std::vector.163" = type { %"struct.std::_Vector_base.164" } %"struct.std::_Vector_base.164" = type { %"struct.std::_Vector_base >::_Vector_impl" } -%"struct.std::_Vector_base >::_Vector_impl" = type { %"class.llvm::MachineBasicBlock"**, %"class.llvm::MachineBasicBlock"**, %"class.llvm::MachineBasicBlock"** } +%"struct.std::_Vector_base >::_Vector_impl" = type { ptr, ptr, ptr } %"class.llvm::Recycler" = type { %"class.llvm::iplist.168" } -%"class.llvm::iplist.168" = type { %"struct.llvm::ilist_traits.169", %"struct.llvm::RecyclerStruct"* } +%"class.llvm::iplist.168" = type { %"struct.llvm::ilist_traits.169", ptr } %"struct.llvm::ilist_traits.169" = type { %"struct.llvm::RecyclerStruct" } -%"struct.llvm::RecyclerStruct" = type { %"struct.llvm::RecyclerStruct"*, %"struct.llvm::RecyclerStruct"* } +%"struct.llvm::RecyclerStruct" = type { ptr, ptr } %"class.llvm::ArrayRecycler" = type { %"class.llvm::SmallVector.174" } %"class.llvm::SmallVector.174" = type { %"class.llvm::SmallVectorImpl.175", %"struct.llvm::SmallVectorStorage.179" } %"class.llvm::SmallVectorImpl.175" = type { %"class.llvm::SmallVectorTemplateBase.176" } @@ -247,39 +247,39 @@ target triple = "powerpc64-unknown-linux-gnu" %"struct.llvm::SmallVectorStorage.179" = type { [7 x %"struct.llvm::AlignedCharArrayUnion.178"] } %"class.llvm::Recycler.180" = type { %"class.llvm::iplist.168" } %"struct.llvm::ilist.181" = type { %"class.llvm::iplist.182" } -%"class.llvm::iplist.182" = type { %"struct.llvm::ilist_traits.183", %"class.llvm::MachineBasicBlock"* } +%"class.llvm::iplist.182" = type { %"struct.llvm::ilist_traits.183", ptr } %"struct.llvm::ilist_traits.183" = type { %"class.llvm::ilist_half_node.1" } %"class.llvm::ArrayRecycler::Capacity" = type { i8 } %"class.llvm::ConstantInt" = type { %"class.llvm::Constant", %"class.llvm::APInt" } %"class.llvm::APInt" = type { i32, %union.anon.189 } %union.anon.189 = type { i64 } %"class.llvm::ConstantFP" = type { %"class.llvm::Constant", %"class.llvm::APFloat" } -%"class.llvm::APFloat" = type { %"struct.llvm::fltSemantics"*, %"union.llvm::APFloat::Significand", i16, i8 } +%"class.llvm::APFloat" = type { ptr, %"union.llvm::APFloat::Significand", i16, i8 } %"struct.llvm::fltSemantics" = type opaque %"union.llvm::APFloat::Significand" = type { i64 } %"class.llvm::BlockAddress" = type { %"class.llvm::Constant" } %"class.llvm::hash_code" = type { i64 } %"struct.llvm::hashing::detail::hash_combine_recursive_helper" = type { [64 x i8], %"struct.llvm::hashing::detail::hash_state", i64 } %"struct.llvm::hashing::detail::hash_state" = type { i64, i64, i64, i64, i64, i64, i64, i64 } -%"class.llvm::PrintReg" = type { %"class.llvm::TargetRegisterInfo"*, i32, i32 } +%"class.llvm::PrintReg" = type { ptr, i32, i32 } %"class.llvm::PseudoSourceValue" = type { %"class.llvm::Value" } %"class.llvm::FoldingSetNodeID" = type { %"class.llvm::SmallVector.194" } %"class.llvm::SmallVector.194" = type { [28 x i8], %"struct.llvm::SmallVectorStorage.200" } %"struct.llvm::SmallVectorStorage.200" = type { [31 x %"struct.llvm::AlignedCharArrayUnion.198"] } -%"struct.llvm::ArrayRecycler::FreeList" = type { %"struct.llvm::ArrayRecycler::FreeList"* } -%"class.llvm::ilist_iterator.202" = type { %"class.llvm::MachineInstr"* } -%"class.llvm::TargetInstrInfo" = type { i32 (...)**, [28 x i8], i32, i32 } +%"struct.llvm::ArrayRecycler::FreeList" = type { ptr } +%"class.llvm::ilist_iterator.202" = type { ptr } +%"class.llvm::TargetInstrInfo" = type { ptr, [28 x i8], i32, i32 } %"struct.std::pair.203" = type { i8, i8 } %"class.llvm::SmallVectorImpl.195" = type { %"class.llvm::SmallVectorTemplateBase.196" } %"class.llvm::SmallVectorTemplateBase.196" = type { %"class.llvm::SmallVectorTemplateCommon.197" } %"class.llvm::SmallVectorTemplateCommon.197" = type { %"class.llvm::SmallVectorBase", %"struct.llvm::AlignedCharArrayUnion.198" } -%"class.llvm::AliasAnalysis" = type { i32 (...)**, %"class.llvm::DataLayout"*, %"class.llvm::TargetLibraryInfo"*, %"class.llvm::AliasAnalysis"* } +%"class.llvm::AliasAnalysis" = type { ptr, ptr, ptr, ptr } %"class.llvm::TargetLibraryInfo" = type opaque -%"struct.llvm::AliasAnalysis::Location" = type { %"class.llvm::Value"*, i64, %"class.llvm::MDNode"* } +%"struct.llvm::AliasAnalysis::Location" = type { ptr, i64, ptr } %"class.llvm::DIVariable" = type { %"class.llvm::DIDescriptor" } -%"class.llvm::DIDescriptor" = type { %"class.llvm::MDNode"* } +%"class.llvm::DIDescriptor" = type { ptr } %"class.llvm::DIScope" = type { %"class.llvm::DIDescriptor" } -%"class.llvm::ArrayRef.208" = type { i32*, i64 } +%"class.llvm::ArrayRef.208" = type { ptr, i64 } %"class.llvm::SmallVector.209" = type { %"class.llvm::SmallVectorImpl.210", %"struct.llvm::SmallVectorStorage.214" } %"class.llvm::SmallVectorImpl.210" = type { %"class.llvm::SmallVectorTemplateBase.211" } %"class.llvm::SmallVectorTemplateBase.211" = type { %"class.llvm::SmallVectorTemplateCommon.212" } @@ -287,68 +287,67 @@ target triple = "powerpc64-unknown-linux-gnu" %"struct.llvm::AlignedCharArrayUnion.213" = type { %"struct.llvm::AlignedCharArray" } %"struct.llvm::SmallVectorStorage.214" = type { [7 x %"struct.llvm::AlignedCharArrayUnion.213"] } %"class.llvm::Twine" = type { %"union.llvm::Twine::Child", %"union.llvm::Twine::Child", i8, i8 } -%"union.llvm::Twine::Child" = type { %"class.llvm::Twine"* } +%"union.llvm::Twine::Child" = type { ptr } %"struct.std::random_access_iterator_tag" = type { i8 } -declare void @_ZN4llvm19MachineRegisterInfo27removeRegOperandFromUseListEPNS_14MachineOperandE(%"class.llvm::MachineRegisterInfo"*, %"class.llvm::MachineOperand"*) +declare void @_ZN4llvm19MachineRegisterInfo27removeRegOperandFromUseListEPNS_14MachineOperandE(ptr, ptr) -declare void @_ZN4llvm19MachineRegisterInfo22addRegOperandToUseListEPNS_14MachineOperandE(%"class.llvm::MachineRegisterInfo"*, %"class.llvm::MachineOperand"*) +declare void @_ZN4llvm19MachineRegisterInfo22addRegOperandToUseListEPNS_14MachineOperandE(ptr, ptr) -declare zeroext i32 @_ZNK4llvm14MCRegisterInfo9getSubRegEjj(%"class.llvm::MCRegisterInfo"*, i32 zeroext, i32 zeroext) +declare zeroext i32 @_ZNK4llvm14MCRegisterInfo9getSubRegEjj(ptr, i32 zeroext, i32 zeroext) -define void @_ZN4llvm14MachineOperand12substPhysRegEjRKNS_18TargetRegisterInfoE(%"class.llvm::MachineOperand"* %this, i32 zeroext %Reg, %"class.llvm::TargetRegisterInfo"* %TRI) align 2 { +define void @_ZN4llvm14MachineOperand12substPhysRegEjRKNS_18TargetRegisterInfoE(ptr %this, i32 zeroext %Reg, ptr %TRI) align 2 { entry: - %SubReg_TargetFlags.i = getelementptr inbounds %"class.llvm::MachineOperand", %"class.llvm::MachineOperand"* %this, i64 0, i32 1 - %0 = bitcast [3 x i8]* %SubReg_TargetFlags.i to i24* - %bf.load.i = load i24, i24* %0, align 1 + %SubReg_TargetFlags.i = getelementptr inbounds %"class.llvm::MachineOperand", ptr %this, i64 0, i32 1 + %bf.load.i = load i24, ptr %SubReg_TargetFlags.i, align 1 %bf.lshr.i = lshr i24 %bf.load.i, 12 %tobool = icmp eq i24 %bf.lshr.i, 0 br i1 %tobool, label %if.end, label %if.then if.then: ; preds = %entry %bf.cast.i = zext i24 %bf.lshr.i to i32 - %add.ptr = getelementptr inbounds %"class.llvm::TargetRegisterInfo", %"class.llvm::TargetRegisterInfo"* %TRI, i64 0, i32 1 - %call3 = tail call zeroext i32 @_ZNK4llvm14MCRegisterInfo9getSubRegEjj(%"class.llvm::MCRegisterInfo"* %add.ptr, i32 zeroext %Reg, i32 zeroext %bf.cast.i) - %bf.load.i10 = load i24, i24* %0, align 1 + %add.ptr = getelementptr inbounds %"class.llvm::TargetRegisterInfo", ptr %TRI, i64 0, i32 1 + %call3 = tail call zeroext i32 @_ZNK4llvm14MCRegisterInfo9getSubRegEjj(ptr %add.ptr, i32 zeroext %Reg, i32 zeroext %bf.cast.i) + %bf.load.i10 = load i24, ptr %SubReg_TargetFlags.i, align 1 %bf.clear.i = and i24 %bf.load.i10, 4095 - store i24 %bf.clear.i, i24* %0, align 1 + store i24 %bf.clear.i, ptr %SubReg_TargetFlags.i, align 1 br label %if.end if.end: ; preds = %entry, %if.then %Reg.addr.0 = phi i32 [ %call3, %if.then ], [ %Reg, %entry ] - %RegNo.i.i = getelementptr inbounds %"class.llvm::MachineOperand", %"class.llvm::MachineOperand"* %this, i64 0, i32 2, i32 0 - %1 = load i32, i32* %RegNo.i.i, align 4 - %cmp.i = icmp eq i32 %1, %Reg.addr.0 + %RegNo.i.i = getelementptr inbounds %"class.llvm::MachineOperand", ptr %this, i64 0, i32 2, i32 0 + %0 = load i32, ptr %RegNo.i.i, align 4 + %cmp.i = icmp eq i32 %0, %Reg.addr.0 br i1 %cmp.i, label %_ZN4llvm14MachineOperand6setRegEj.exit, label %if.end.i if.end.i: ; preds = %if.end - %ParentMI.i.i = getelementptr inbounds %"class.llvm::MachineOperand", %"class.llvm::MachineOperand"* %this, i64 0, i32 3 - %2 = load %"class.llvm::MachineInstr"*, %"class.llvm::MachineInstr"** %ParentMI.i.i, align 8 - %tobool.i = icmp eq %"class.llvm::MachineInstr"* %2, null + %ParentMI.i.i = getelementptr inbounds %"class.llvm::MachineOperand", ptr %this, i64 0, i32 3 + %1 = load ptr, ptr %ParentMI.i.i, align 8 + %tobool.i = icmp eq ptr %1, null br i1 %tobool.i, label %if.end13.i, label %if.then3.i if.then3.i: ; preds = %if.end.i - %Parent.i.i = getelementptr inbounds %"class.llvm::MachineInstr", %"class.llvm::MachineInstr"* %2, i64 0, i32 2 - %3 = load %"class.llvm::MachineBasicBlock"*, %"class.llvm::MachineBasicBlock"** %Parent.i.i, align 8 - %tobool5.i = icmp eq %"class.llvm::MachineBasicBlock"* %3, null + %Parent.i.i = getelementptr inbounds %"class.llvm::MachineInstr", ptr %1, i64 0, i32 2 + %2 = load ptr, ptr %Parent.i.i, align 8 + %tobool5.i = icmp eq ptr %2, null br i1 %tobool5.i, label %if.end13.i, label %if.then6.i if.then6.i: ; preds = %if.then3.i - %xParent.i.i = getelementptr inbounds %"class.llvm::MachineBasicBlock", %"class.llvm::MachineBasicBlock"* %3, i64 0, i32 4 - %4 = load %"class.llvm::MachineFunction"*, %"class.llvm::MachineFunction"** %xParent.i.i, align 8 - %tobool8.i = icmp eq %"class.llvm::MachineFunction"* %4, null + %xParent.i.i = getelementptr inbounds %"class.llvm::MachineBasicBlock", ptr %2, i64 0, i32 4 + %3 = load ptr, ptr %xParent.i.i, align 8 + %tobool8.i = icmp eq ptr %3, null br i1 %tobool8.i, label %if.end13.i, label %if.then9.i if.then9.i: ; preds = %if.then6.i - %RegInfo.i.i = getelementptr inbounds %"class.llvm::MachineFunction", %"class.llvm::MachineFunction"* %4, i64 0, i32 5 - %5 = load %"class.llvm::MachineRegisterInfo"*, %"class.llvm::MachineRegisterInfo"** %RegInfo.i.i, align 8 - tail call void @_ZN4llvm19MachineRegisterInfo27removeRegOperandFromUseListEPNS_14MachineOperandE(%"class.llvm::MachineRegisterInfo"* %5, %"class.llvm::MachineOperand"* %this) - store i32 %Reg.addr.0, i32* %RegNo.i.i, align 4 - tail call void @_ZN4llvm19MachineRegisterInfo22addRegOperandToUseListEPNS_14MachineOperandE(%"class.llvm::MachineRegisterInfo"* %5, %"class.llvm::MachineOperand"* %this) + %RegInfo.i.i = getelementptr inbounds %"class.llvm::MachineFunction", ptr %3, i64 0, i32 5 + %4 = load ptr, ptr %RegInfo.i.i, align 8 + tail call void @_ZN4llvm19MachineRegisterInfo27removeRegOperandFromUseListEPNS_14MachineOperandE(ptr %4, ptr %this) + store i32 %Reg.addr.0, ptr %RegNo.i.i, align 4 + tail call void @_ZN4llvm19MachineRegisterInfo22addRegOperandToUseListEPNS_14MachineOperandE(ptr %4, ptr %this) br label %_ZN4llvm14MachineOperand6setRegEj.exit if.end13.i: ; preds = %if.then6.i, %if.then3.i, %if.end.i - store i32 %Reg.addr.0, i32* %RegNo.i.i, align 4 + store i32 %Reg.addr.0, ptr %RegNo.i.i, align 4 br label %_ZN4llvm14MachineOperand6setRegEj.exit _ZN4llvm14MachineOperand6setRegEj.exit: ; preds = %if.end, %if.then9.i, %if.end13.i diff --git a/llvm/test/CodeGen/PowerPC/pr15359.ll b/llvm/test/CodeGen/PowerPC/pr15359.ll index 273663e..c7be78e 100644 --- a/llvm/test/CodeGen/PowerPC/pr15359.ll +++ b/llvm/test/CodeGen/PowerPC/pr15359.ll @@ -8,7 +8,7 @@ target triple = "powerpc64-unknown-linux-gnu" define fastcc void @func() nounwind { entry: - store i32 42, i32* @nextIdx + store i32 42, ptr @nextIdx ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr15630.ll b/llvm/test/CodeGen/PowerPC/pr15630.ll index f9a5282..6293a13 100644 --- a/llvm/test/CodeGen/PowerPC/pr15630.ll +++ b/llvm/test/CodeGen/PowerPC/pr15630.ll @@ -3,13 +3,13 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" target triple = "powerpc64-unknown-linux-gnu" -define weak_odr void @_D4core6atomic49__T11atomicStoreVE4core6atomic11MemoryOrder3ThThZ11atomicStoreFNaNbKOhhZv(i8* %val_arg, i8 zeroext %newval_arg) { +define weak_odr void @_D4core6atomic49__T11atomicStoreVE4core6atomic11MemoryOrder3ThThZ11atomicStoreFNaNbKOhhZv(ptr %val_arg, i8 zeroext %newval_arg) { entry: %newval = alloca i8 %ordering = alloca i32, align 4 - store i8 %newval_arg, i8* %newval - %tmp = load i8, i8* %newval - store atomic volatile i8 %tmp, i8* %val_arg seq_cst, align 1 + store i8 %newval_arg, ptr %newval + %tmp = load i8, ptr %newval + store atomic volatile i8 %tmp, ptr %val_arg seq_cst, align 1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr15632.ll b/llvm/test/CodeGen/PowerPC/pr15632.ll index 3b794b75..d0b29e2 100644 --- a/llvm/test/CodeGen/PowerPC/pr15632.ll +++ b/llvm/test/CodeGen/PowerPC/pr15632.ll @@ -8,7 +8,7 @@ declare void @other(ppc_fp128 %tmp70) define void @bug() { entry: - %x = load ppc_fp128, ppc_fp128* @ld2, align 16 + %x = load ppc_fp128, ptr @ld2, align 16 %tmp70 = frem ppc_fp128 0xM00000000000000000000000000000000, %x call void @other(ppc_fp128 %tmp70) unreachable diff --git a/llvm/test/CodeGen/PowerPC/pr16556-2.ll b/llvm/test/CodeGen/PowerPC/pr16556-2.ll index e6ec43a..9b7b3b2 100644 --- a/llvm/test/CodeGen/PowerPC/pr16556-2.ll +++ b/llvm/test/CodeGen/PowerPC/pr16556-2.ll @@ -11,27 +11,26 @@ target triple = "powerpc-unknown-linux-gnu" @_D4core4time12TickDuration11ticksPerSecyl = global i64 0 @.str5 = internal unnamed_addr constant [40 x i8] c"..\5Cldc\5Cruntime\5Cdruntime\5Csrc\5Ccore\5Ctime.d\00" @.str83 = internal constant [10 x i8] c"null this\00" -@.modulefilename = internal constant { i32, i8* } { i32 39, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str5, i32 0, i32 0) } +@.modulefilename = internal constant { i32, ptr } { i32 39, ptr @.str5 } -declare i8* @_d_assert_msg({ i32, i8* }, { i32, i8* }, i32) +declare ptr @_d_assert_msg({ i32, ptr }, { i32, ptr }, i32) -define weak_odr fastcc i64 @_D4core4time12TickDuration30__T2toVAyaa7_7365636f6e6473TlZ2toMxFNaNbNfZl(%core.time.TickDuration* %.this_arg) { +define weak_odr fastcc i64 @_D4core4time12TickDuration30__T2toVAyaa7_7365636f6e6473TlZ2toMxFNaNbNfZl(ptr %.this_arg) { entry: %unitsPerSec = alloca i64, align 8 - %tmp = icmp ne %core.time.TickDuration* %.this_arg, null + %tmp = icmp ne ptr %.this_arg, null br i1 %tmp, label %noassert, label %assert assert: ; preds = %entry - %tmp1 = load { i32, i8* }, { i32, i8* }* @.modulefilename - %0 = call i8* @_d_assert_msg({ i32, i8* } { i32 9, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str83, i32 0, i32 0) }, { i32, i8* } %tmp1, i32 1586) + %tmp1 = load { i32, ptr }, ptr @.modulefilename + %0 = call ptr @_d_assert_msg({ i32, ptr } { i32 9, ptr @.str83 }, { i32, ptr } %tmp1, i32 1586) unreachable noassert: ; preds = %entry - %tmp2 = getelementptr %core.time.TickDuration, %core.time.TickDuration* %.this_arg, i32 0, i32 0 - %tmp3 = load i64, i64* %tmp2 + %tmp3 = load i64, ptr %.this_arg %tmp4 = sitofp i64 %tmp3 to ppc_fp128 - %tmp5 = load i64, i64* @_D4core4time12TickDuration11ticksPerSecyl + %tmp5 = load i64, ptr @_D4core4time12TickDuration11ticksPerSecyl %tmp6 = sitofp i64 %tmp5 to ppc_fp128 %tmp7 = fdiv ppc_fp128 %tmp6, 0xM80000000000000000000000000000000 %tmp8 = fdiv ppc_fp128 %tmp4, %tmp7 diff --git a/llvm/test/CodeGen/PowerPC/pr16556.ll b/llvm/test/CodeGen/PowerPC/pr16556.ll index eea2db4..95f4d1d 100644 --- a/llvm/test/CodeGen/PowerPC/pr16556.ll +++ b/llvm/test/CodeGen/PowerPC/pr16556.ll @@ -7,7 +7,7 @@ target triple = "powerpc-unknown-linux-gnu" %core.time.TickDuration.37.125 = type { i64 } -define weak_odr fastcc i64 @_D4core4time12TickDuration30__T2toVAyaa7_7365636f6e6473TlZ2toMxFNaNbNfZl(%core.time.TickDuration.37.125* %.this_arg) { +define weak_odr fastcc i64 @_D4core4time12TickDuration30__T2toVAyaa7_7365636f6e6473TlZ2toMxFNaNbNfZl(ptr %.this_arg) { entry: br i1 undef, label %noassert, label %assert diff --git a/llvm/test/CodeGen/PowerPC/pr17168.ll b/llvm/test/CodeGen/PowerPC/pr17168.ll index c774249..828bc2b 100644 --- a/llvm/test/CodeGen/PowerPC/pr17168.ll +++ b/llvm/test/CodeGen/PowerPC/pr17168.ll @@ -26,7 +26,7 @@ for.cond968.preheader: ; preds = %for.cond968.prehead for.end1042: ; preds = %for.cond968.preheader, %for.cond964.preheader, %entry %0 = phi i32 [ undef, %for.cond964.preheader ], [ undef, %for.cond968.preheader ], [ undef, %entry ] - %1 = load i32, i32* getelementptr inbounds ([3 x i32], [3 x i32]* @grid_points, i64 0, i64 0), align 4, !dbg !285, !tbaa !286 + %1 = load i32, ptr @grid_points, align 4, !dbg !285, !tbaa !286 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !268, metadata !290), !dbg !291 %sub10454270 = add nsw i32 %0, -1, !dbg !291 %cmp10464271 = icmp sgt i32 %sub10454270, 1, !dbg !291 diff --git a/llvm/test/CodeGen/PowerPC/pr17354.ll b/llvm/test/CodeGen/PowerPC/pr17354.ll index 83a9ac9..38b98dff 100644 --- a/llvm/test/CodeGen/PowerPC/pr17354.ll +++ b/llvm/test/CodeGen/PowerPC/pr17354.ll @@ -10,11 +10,11 @@ target triple = "powerpc64-unknown-linux-gnu" %struct.CS = type { i32 } @_ZL3glb = internal global [1 x %struct.CS] zeroinitializer, align 4 -@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__I_a, i8* null }] +@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__I_a, ptr null }] define internal void @__cxx_global_var_init() section ".text.startup" { entry: - call void @_Z4funcv(%struct.CS* sret(%struct.CS) getelementptr inbounds ([1 x %struct.CS], [1 x %struct.CS]* @_ZL3glb, i64 0, i64 0)) + call void @_Z4funcv(ptr sret(%struct.CS) @_ZL3glb) ret void } @@ -23,10 +23,9 @@ entry: ; CHECK-NEXT: nop ; Function Attrs: nounwind -define void @_Z4funcv(%struct.CS* noalias sret(%struct.CS) %agg.result) #0 { +define void @_Z4funcv(ptr noalias sret(%struct.CS) %agg.result) #0 { entry: - %a_ = getelementptr inbounds %struct.CS, %struct.CS* %agg.result, i32 0, i32 0 - store i32 0, i32* %a_, align 4 + store i32 0, ptr %agg.result, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr18663-2.ll b/llvm/test/CodeGen/PowerPC/pr18663-2.ll index 7725c90..64d767a 100644 --- a/llvm/test/CodeGen/PowerPC/pr18663-2.ll +++ b/llvm/test/CodeGen/PowerPC/pr18663-2.ll @@ -4,19 +4,19 @@ %"class.std::__1::locale::id.1580.4307.4610.8491" = type { %"struct.std::__1::once_flag.1579.4306.4609.8490", i32 } %"struct.std::__1::once_flag.1579.4306.4609.8490" = type { i64 } %"class.Foam::IOerror.1581.4308.4611.8505" = type { %"class.Foam::error.1535.4262.4565.8504", %"class.Foam::string.1530.4257.4560.8499", i32, i32 } -%"class.Foam::error.1535.4262.4565.8504" = type { %"class.std::exception.1523.4250.4553.8492", [36 x i8], %"class.Foam::string.1530.4257.4560.8499", %"class.Foam::string.1530.4257.4560.8499", i32, i8, i8, %"class.Foam::OStringStream.1534.4261.4564.8503"* } -%"class.std::exception.1523.4250.4553.8492" = type { i32 (...)** } +%"class.Foam::error.1535.4262.4565.8504" = type { %"class.std::exception.1523.4250.4553.8492", [36 x i8], %"class.Foam::string.1530.4257.4560.8499", %"class.Foam::string.1530.4257.4560.8499", i32, i8, i8, ptr } +%"class.std::exception.1523.4250.4553.8492" = type { ptr } %"class.Foam::OStringStream.1534.4261.4564.8503" = type { %"class.Foam::OSstream.1533.4260.4563.8502" } -%"class.Foam::OSstream.1533.4260.4563.8502" = type { [50 x i8], %"class.Foam::fileName.1531.4258.4561.8500", %"class.std::__1::basic_ostream.1532.4259.4562.8501"* } +%"class.Foam::OSstream.1533.4260.4563.8502" = type { [50 x i8], %"class.Foam::fileName.1531.4258.4561.8500", ptr } %"class.Foam::fileName.1531.4258.4561.8500" = type { %"class.Foam::string.1530.4257.4560.8499" } -%"class.std::__1::basic_ostream.1532.4259.4562.8501" = type { i32 (...)**, [148 x i8] } +%"class.std::__1::basic_ostream.1532.4259.4562.8501" = type { ptr, [148 x i8] } %"class.Foam::string.1530.4257.4560.8499" = type { %"class.std::__1::basic_string.1529.4256.4559.8498" } %"class.std::__1::basic_string.1529.4256.4559.8498" = type { %"class.std::__1::__compressed_pair.1528.4255.4558.8497" } %"class.std::__1::__compressed_pair.1528.4255.4558.8497" = type { %"class.std::__1::__libcpp_compressed_pair_imp.1527.4254.4557.8496" } %"class.std::__1::__libcpp_compressed_pair_imp.1527.4254.4557.8496" = type { %"struct.std::__1::basic_string, std::__1::allocator >::__rep.1526.4253.4556.8495" } %"struct.std::__1::basic_string, std::__1::allocator >::__rep.1526.4253.4556.8495" = type { %union.anon.1525.4252.4555.8494 } %union.anon.1525.4252.4555.8494 = type { %"struct.std::__1::basic_string, std::__1::allocator >::__long.1524.4251.4554.8493" } -%"struct.std::__1::basic_string, std::__1::allocator >::__long.1524.4251.4554.8493" = type { i64, i64, i8* } +%"struct.std::__1::basic_string, std::__1::allocator >::__long.1524.4251.4554.8493" = type { i64, i64, ptr } @.str3 = external unnamed_addr constant [16 x i8], align 1 @_ZNSt3__15ctypeIcE2idE = external global %"class.std::__1::locale::id.1580.4307.4610.8491" @@ -46,7 +46,7 @@ declare void @_ZN4Foam7IOerror4exitEi() #0 ; Function Attrs: inlinehint declare void @_ZN4Foam8fileName12stripInvalidEv() #2 align 2 -define void @_ZN4Foam3CSVINS_6VectorIdEEE4readEv() #0 align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { +define void @_ZN4Foam3CSVINS_6VectorIdEEE4readEv() #0 align 2 personality ptr @__gxx_personality_v0 { entry: invoke void @_ZN4Foam6string6expandEb() to label %invoke.cont unwind label %lpad @@ -66,7 +66,7 @@ _ZN4Foam6stringC2ERKS0_.exit.i: ; preds = %invoke.cont to label %invoke.cont2 unwind label %lpad.i lpad.i: ; preds = %_ZN4Foam6stringC2ERKS0_.exit.i - %0 = landingpad { i8*, i32 } + %0 = landingpad { ptr, i32 } cleanup br label %ehcleanup142 @@ -90,17 +90,17 @@ memptr.end.i: ; preds = %invoke.cont8 to label %if.end unwind label %lpad5 lpad: ; preds = %if.then.i.i.i.i176, %entry - %1 = landingpad { i8*, i32 } + %1 = landingpad { ptr, i32 } cleanup br label %ehcleanup142 lpad3: ; preds = %invoke.cont2 - %2 = landingpad { i8*, i32 } + %2 = landingpad { ptr, i32 } cleanup br label %ehcleanup142 lpad5: ; preds = %memptr.end.i, %invoke.cont8, %if.then - %3 = landingpad { i8*, i32 } + %3 = landingpad { ptr, i32 } cleanup br label %ehcleanup142 @@ -119,12 +119,12 @@ invoke.cont.i.i.i: ; preds = %.noexc205 unreachable lpad.i.i.i: ; preds = %.noexc205 - %4 = landingpad { i8*, i32 } + %4 = landingpad { ptr, i32 } cleanup br label %ehcleanup142 lpad19: ; preds = %for.body - %5 = landingpad { i8*, i32 } + %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup142 @@ -144,7 +144,7 @@ vector.body: ; preds = %vector.body, %if.en br label %vector.body ehcleanup142: ; preds = %lpad19, %lpad.i.i.i, %lpad5, %lpad3, %lpad, %lpad.i - resume { i8*, i32 } undef + resume { ptr, i32 } undef } attributes #0 = { "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } diff --git a/llvm/test/CodeGen/PowerPC/pr18663.ll b/llvm/test/CodeGen/PowerPC/pr18663.ll index 8e66858..1603919 100644 --- a/llvm/test/CodeGen/PowerPC/pr18663.ll +++ b/llvm/test/CodeGen/PowerPC/pr18663.ll @@ -4,78 +4,78 @@ %class.Point.1 = type { %class.Tensor.0 } %class.Tensor.0 = type { [3 x double] } %class.TriaObjectAccessor.57 = type { %class.TriaAccessor.56 } -%class.TriaAccessor.56 = type { i32, i32, %class.Triangulation.55* } -%class.Triangulation.55 = type { %class.Subscriptor, %"class.std::vector.46", %"class.std::vector", %"class.std::vector.3.8", [255 x %class.Boundary.50*], i32, %struct.TriaNumberCache.54 } -%class.Subscriptor = type { i32 (...)**, i32, %"class.std::type_info.2"* } -%"class.std::type_info.2" = type { i32 (...)**, i8* } +%class.TriaAccessor.56 = type { i32, i32, ptr } +%class.Triangulation.55 = type { %class.Subscriptor, %"class.std::vector.46", %"class.std::vector", %"class.std::vector.3.8", [255 x ptr], i32, %struct.TriaNumberCache.54 } +%class.Subscriptor = type { ptr, i32, ptr } +%"class.std::type_info.2" = type { ptr, ptr } %"class.std::vector.46" = type { %"struct.std::_Vector_base.45" } -%"struct.std::_Vector_base.45" = type { %"struct.std::_Vector_base *, std::allocator *> >::_Vector_impl.44" } -%"struct.std::_Vector_base *, std::allocator *> >::_Vector_impl.44" = type { %class.TriangulationLevel.43**, %class.TriangulationLevel.43**, %class.TriangulationLevel.43** } +%"struct.std::_Vector_base.45" = type { %"struct.std::_Vector_base >::_Vector_impl.44" } +%"struct.std::_Vector_base >::_Vector_impl.44" = type { ptr, ptr, ptr } %class.TriangulationLevel.43 = type { %class.TriangulationLevel.0.37, %"struct.TriangulationLevel<3>::HexesData.42" } %class.TriangulationLevel.0.37 = type { %class.TriangulationLevel.1.31, %"struct.TriangulationLevel<2>::QuadsData.36" } %class.TriangulationLevel.1.31 = type { %class.TriangulationLevel, %"struct.TriangulationLevel<1>::LinesData.30" } %class.TriangulationLevel = type { %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.7.12", %"class.std::vector.12.15" } %"class.std::vector.7.12" = type { %"struct.std::_Vector_base" } %"struct.std::_Vector_base" = type { %"struct.std::_Vector_base, std::allocator > >::_Vector_impl.10" } -%"struct.std::_Vector_base, std::allocator > >::_Vector_impl.10" = type { %"struct.std::pair.9"*, %"struct.std::pair.9"*, %"struct.std::pair.9"* } +%"struct.std::_Vector_base, std::allocator > >::_Vector_impl.10" = type { ptr, ptr, ptr } %"struct.std::pair.9" = type opaque %"class.std::vector.12.15" = type { %"struct.std::_Vector_base.13.14" } %"struct.std::_Vector_base.13.14" = type { %"struct.std::_Vector_base >::_Vector_impl.13" } -%"struct.std::_Vector_base >::_Vector_impl.13" = type { i32*, i32*, i32* } +%"struct.std::_Vector_base >::_Vector_impl.13" = type { ptr, ptr, ptr } %"struct.TriangulationLevel<1>::LinesData.30" = type { %"class.std::vector.17.20", %"class.std::vector.22.23", %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.27.26", %"class.std::vector.32.29" } %"class.std::vector.17.20" = type { %"struct.std::_Vector_base.18.19" } %"struct.std::_Vector_base.18.19" = type { %"struct.std::_Vector_base >::_Vector_impl.18" } -%"struct.std::_Vector_base >::_Vector_impl.18" = type { %class.Line.17*, %class.Line.17*, %class.Line.17* } +%"struct.std::_Vector_base >::_Vector_impl.18" = type { ptr, ptr, ptr } %class.Line.17 = type { [2 x i32] } %"class.std::vector.22.23" = type { %"struct.std::_Vector_base.23.22" } %"struct.std::_Vector_base.23.22" = type { %"struct.std::_Vector_base >::_Vector_impl.21" } -%"struct.std::_Vector_base >::_Vector_impl.21" = type { i32*, i32*, i32* } +%"struct.std::_Vector_base >::_Vector_impl.21" = type { ptr, ptr, ptr } %"class.std::vector.27.26" = type { %"struct.std::_Vector_base.28.25" } %"struct.std::_Vector_base.28.25" = type { %"struct.std::_Vector_base >::_Vector_impl.24" } -%"struct.std::_Vector_base >::_Vector_impl.24" = type { i8*, i8*, i8* } +%"struct.std::_Vector_base >::_Vector_impl.24" = type { ptr, ptr, ptr } %"class.std::vector.32.29" = type { %"struct.std::_Vector_base.33.28" } -%"struct.std::_Vector_base.33.28" = type { %"struct.std::_Vector_base >::_Vector_impl.27" } -%"struct.std::_Vector_base >::_Vector_impl.27" = type { i8**, i8**, i8** } +%"struct.std::_Vector_base.33.28" = type { %"struct.std::_Vector_base >::_Vector_impl.27" } +%"struct.std::_Vector_base >::_Vector_impl.27" = type { ptr, ptr, ptr } %"struct.TriangulationLevel<2>::QuadsData.36" = type { %"class.std::vector.37.35", %"class.std::vector.22.23", %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.27.26", %"class.std::vector.32.29" } %"class.std::vector.37.35" = type { %"struct.std::_Vector_base.38.34" } %"struct.std::_Vector_base.38.34" = type { %"struct.std::_Vector_base >::_Vector_impl.33" } -%"struct.std::_Vector_base >::_Vector_impl.33" = type { %class.Quad.32*, %class.Quad.32*, %class.Quad.32* } +%"struct.std::_Vector_base >::_Vector_impl.33" = type { ptr, ptr, ptr } %class.Quad.32 = type { [4 x i32] } %"struct.TriangulationLevel<3>::HexesData.42" = type { %"class.std::vector.42.41", %"class.std::vector.22.23", %"class.std::vector.3.8", %"class.std::vector.3.8", %"class.std::vector.27.26", %"class.std::vector.32.29", %"class.std::vector.3.8" } %"class.std::vector.42.41" = type { %"struct.std::_Vector_base.43.40" } %"struct.std::_Vector_base.43.40" = type { %"struct.std::_Vector_base >::_Vector_impl.39" } -%"struct.std::_Vector_base >::_Vector_impl.39" = type { %class.Hexahedron.38*, %class.Hexahedron.38*, %class.Hexahedron.38* } +%"struct.std::_Vector_base >::_Vector_impl.39" = type { ptr, ptr, ptr } %class.Hexahedron.38= type { [6 x i32] } %"class.std::vector" = type { %"struct.std::_Vector_base.48.48" } %"struct.std::_Vector_base.48.48" = type { %"struct.std::_Vector_base, std::allocator > >::_Vector_impl.47" } -%"struct.std::_Vector_base, std::allocator > >::_Vector_impl.47" = type { %class.Point.1*, %class.Point.1*, %class.Point.1* } +%"struct.std::_Vector_base, std::allocator > >::_Vector_impl.47" = type { ptr, ptr, ptr } %"class.std::vector.3.8" = type { %"struct.std::_Bvector_base.7" } %"struct.std::_Bvector_base.7" = type { %"struct.std::_Bvector_base >::_Bvector_impl.6" } -%"struct.std::_Bvector_base >::_Bvector_impl.6" = type { %"struct.std::_Bit_iterator.5", %"struct.std::_Bit_iterator.5", i64* } +%"struct.std::_Bvector_base >::_Bvector_impl.6" = type { %"struct.std::_Bit_iterator.5", %"struct.std::_Bit_iterator.5", ptr } %"struct.std::_Bit_iterator.5" = type { %"struct.std::_Bit_iterator_base.base.4", [4 x i8] } -%"struct.std::_Bit_iterator_base.base.4" = type <{ i64*, i32 }> +%"struct.std::_Bit_iterator_base.base.4" = type <{ ptr, i32 }> %class.Boundary.50 = type opaque %struct.TriaNumberCache.54 = type { %struct.TriaNumberCache.52.52, i32, %"class.std::vector.12.15", i32, %"class.std::vector.12.15" } %struct.TriaNumberCache.52.52 = type { %struct.TriaNumberCache.53.51, i32, %"class.std::vector.12.15", i32, %"class.std::vector.12.15" } %struct.TriaNumberCache.53.51 = type { i32, %"class.std::vector.12.15", i32, %"class.std::vector.12.15" } -define void @_ZNK18TriaObjectAccessorILi3ELi3EE10barycenterEv(%class.Point.1* noalias nocapture sret(%class.Point.1) %agg.result, %class.TriaObjectAccessor.57* %this) #0 align 2 { +define void @_ZNK18TriaObjectAccessorILi3ELi3EE10barycenterEv(ptr noalias nocapture sret(%class.Point.1) %agg.result, ptr %this) #0 align 2 { entry: - %0 = load double, double* null, align 8 - %1 = load double, double* undef, align 8 - %call18 = tail call dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57* %this, i32 zeroext 6) - %2 = load double, double* undef, align 8 - %call21 = tail call dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57* %this, i32 zeroext 7) - %3 = load double, double* undef, align 8 - %call33 = tail call dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57* %this, i32 zeroext 3) - %4 = load double, double* null, align 8 - %5 = load double, double* undef, align 8 - %call45 = tail call dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57* %this, i32 zeroext 7) - %6 = load double, double* undef, align 8 - %call48 = tail call dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57* %this, i32 zeroext 0) - %7 = load double, double* undef, align 8 - %call66 = tail call dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57* %this, i32 zeroext 6) - %8 = load double, double* undef, align 8 + %0 = load double, ptr null, align 8 + %1 = load double, ptr undef, align 8 + %call18 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 6) + %2 = load double, ptr undef, align 8 + %call21 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 7) + %3 = load double, ptr undef, align 8 + %call33 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 3) + %4 = load double, ptr null, align 8 + %5 = load double, ptr undef, align 8 + %call45 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 7) + %6 = load double, ptr undef, align 8 + %call48 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 0) + %7 = load double, ptr undef, align 8 + %call66 = tail call dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr %this, i32 zeroext 6) + %8 = load double, ptr undef, align 8 %mul334 = fmul double undef, 2.000000e+00 %mul579 = fmul double %2, %5 %mul597 = fmul double undef, %mul579 @@ -289,10 +289,10 @@ entry: %add8901 = fadd double %mul8900, %add8893 %mul9767 = fmul double 0.000000e+00, %add8901 %mul9768 = fmul double %mul9767, 0x3FC5555555555555 - store double %mul4917, double* undef, align 8 - store double %mul9768, double* undef, align 8 + store double %mul4917, ptr undef, align 8 + store double %mul9768, ptr undef, align 8 ret void } -declare dereferenceable(24) %class.Point.1* @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(%class.TriaObjectAccessor.57*, i32 zeroext) #0 +declare dereferenceable(24) ptr @_ZNK18TriaObjectAccessorILi3ELi3EE6vertexEj(ptr, i32 zeroext) #0 diff --git a/llvm/test/CodeGen/PowerPC/pr20442.ll b/llvm/test/CodeGen/PowerPC/pr20442.ll index b1d7105..d00c01e 100644 --- a/llvm/test/CodeGen/PowerPC/pr20442.ll +++ b/llvm/test/CodeGen/PowerPC/pr20442.ll @@ -14,21 +14,20 @@ target triple = "powerpc-unknown-linux-gnu" %struct.anon = type { i32 } %struct.anon.0 = type { i32 } -@b = common global %struct.anon* null, align 4 -@a = common global %struct.anon.0* null, align 4 +@b = common global ptr null, align 4 +@a = common global ptr null, align 4 ; Function Attrs: nounwind readonly uwtable define i32 @fn1() #0 { entry: - %0 = load %struct.anon*, %struct.anon** @b, align 4 - %1 = ptrtoint %struct.anon* %0 to i32 - %cmp = icmp sgt %struct.anon* %0, null - %2 = load %struct.anon.0*, %struct.anon.0** @a, align 4 + %0 = load ptr, ptr @b, align 4 + %1 = ptrtoint ptr %0 to i32 + %cmp = icmp sgt ptr %0, null + %2 = load ptr, ptr @a, align 4 br i1 %cmp, label %for.bodythread-pre-split, label %if.end8 for.bodythread-pre-split: ; preds = %entry - %aclass = getelementptr inbounds %struct.anon.0, %struct.anon.0* %2, i32 0, i32 0 - %.pr = load i32, i32* %aclass, align 4 + %.pr = load i32, ptr %2, align 4 br label %for.body for.body: ; preds = %for.bodythread-pre-split, %for.body @@ -51,10 +50,10 @@ while.cond: ; preds = %while.body while.body: ; preds = %while.body.lr.ph, %while.cond %j.110 = phi i32 [ %j.1.ph13, %while.body.lr.ph ], [ %inc7, %while.cond ] - %aclass_index = getelementptr inbounds %struct.anon, %struct.anon* %0, i32 %j.110, i32 0 - %3 = load i32, i32* %aclass_index, align 4 - %aclass5 = getelementptr inbounds %struct.anon.0, %struct.anon.0* %2, i32 %3, i32 0 - %4 = load i32, i32* %aclass5, align 4 + %aclass_index = getelementptr inbounds %struct.anon, ptr %0, i32 %j.110, i32 0 + %3 = load i32, ptr %aclass_index, align 4 + %aclass5 = getelementptr inbounds %struct.anon.0, ptr %2, i32 %3, i32 0 + %4 = load i32, ptr %aclass5, align 4 %tobool = icmp eq i32 %4, 0 %inc7 = add nsw i32 %j.110, 1 br i1 %tobool, label %while.cond, label %if.then6 diff --git a/llvm/test/CodeGen/PowerPC/pr22711.ll b/llvm/test/CodeGen/PowerPC/pr22711.ll index 0444865..8acaa61 100644 --- a/llvm/test/CodeGen/PowerPC/pr22711.ll +++ b/llvm/test/CodeGen/PowerPC/pr22711.ll @@ -2,14 +2,14 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 -filetype=obj -o - | llvm-readobj --sections - | FileCheck %s -define void @test(i32* %a) { +define void @test(ptr %a) { entry: - %a.addr = alloca i32*, align 8 - store i32* %a, i32** %a.addr, align 8 - %0 = load i32*, i32** %a.addr, align 8 - %incdec.ptr = getelementptr inbounds i32, i32* %0, i32 1 - store i32* %incdec.ptr, i32** %a.addr, align 8 - %1 = load i32, i32* %0, align 4 + %a.addr = alloca ptr, align 8 + store ptr %a, ptr %a.addr, align 8 + %0 = load ptr, ptr %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i32, ptr %0, i32 1 + store ptr %incdec.ptr, ptr %a.addr, align 8 + %1 = load i32, ptr %0, align 4 switch i32 %1, label %sw.epilog [ i32 17, label %sw.bb i32 13, label %sw.bb1 @@ -21,38 +21,38 @@ entry: ] sw.bb: ; preds = %entry - %2 = load i32*, i32** %a.addr, align 8 - store i32 2, i32* %2, align 4 + %2 = load ptr, ptr %a.addr, align 8 + store i32 2, ptr %2, align 4 br label %sw.epilog sw.bb1: ; preds = %entry - %3 = load i32*, i32** %a.addr, align 8 - store i32 3, i32* %3, align 4 + %3 = load ptr, ptr %a.addr, align 8 + store i32 3, ptr %3, align 4 br label %sw.epilog sw.bb2: ; preds = %entry - %4 = load i32*, i32** %a.addr, align 8 - store i32 5, i32* %4, align 4 + %4 = load ptr, ptr %a.addr, align 8 + store i32 5, ptr %4, align 4 br label %sw.epilog sw.bb3: ; preds = %entry - %5 = load i32*, i32** %a.addr, align 8 - store i32 7, i32* %5, align 4 + %5 = load ptr, ptr %a.addr, align 8 + store i32 7, ptr %5, align 4 br label %sw.epilog sw.bb4: ; preds = %entry - %6 = load i32*, i32** %a.addr, align 8 - store i32 11, i32* %6, align 4 + %6 = load ptr, ptr %a.addr, align 8 + store i32 11, ptr %6, align 4 br label %sw.epilog sw.bb5: ; preds = %entry - %7 = load i32*, i32** %a.addr, align 8 - store i32 13, i32* %7, align 4 + %7 = load ptr, ptr %a.addr, align 8 + store i32 13, ptr %7, align 4 br label %sw.epilog sw.bb6: ; preds = %entry - %8 = load i32*, i32** %a.addr, align 8 - store i32 17, i32* %8, align 4 + %8 = load ptr, ptr %a.addr, align 8 + store i32 17, ptr %8, align 4 br label %sw.epilog sw.epilog: ; preds = %entry, %sw.bb6, %sw.bb5, %sw.bb4, %sw.bb3, %sw.bb2, %sw.bb1, %sw.bb diff --git a/llvm/test/CodeGen/PowerPC/pr24216.ll b/llvm/test/CodeGen/PowerPC/pr24216.ll index 522c561..5163e12 100644 --- a/llvm/test/CodeGen/PowerPC/pr24216.ll +++ b/llvm/test/CodeGen/PowerPC/pr24216.ll @@ -2,11 +2,11 @@ ; Test case adapted from PR24216. -define void @foo(<16 x i8>* nocapture readonly %in, <16 x i8>* nocapture %out) { +define void @foo(ptr nocapture readonly %in, ptr nocapture %out) { entry: - %0 = load <16 x i8>, <16 x i8>* %in, align 16 + %0 = load <16 x i8>, ptr %in, align 16 %1 = shufflevector <16 x i8> %0, <16 x i8> undef, <16 x i32> - store <16 x i8> %1, <16 x i8>* %out, align 16 + store <16 x i8> %1, ptr %out, align 16 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr24546.ll b/llvm/test/CodeGen/PowerPC/pr24546.ll index 028fd2d..527139a 100644 --- a/llvm/test/CodeGen/PowerPC/pr24546.ll +++ b/llvm/test/CodeGen/PowerPC/pr24546.ll @@ -19,7 +19,7 @@ if.then.i: ; preds = %if.then br label %php_intpow10.exit, !dbg !41 if.end.i: ; preds = %if.then - %0 = load double, double* undef, align 8, !dbg !42, !tbaa !43 + %0 = load double, ptr undef, align 8, !dbg !42, !tbaa !43 br label %php_intpow10.exit, !dbg !47 php_intpow10.exit: ; preds = %if.end.i, %if.then.i diff --git a/llvm/test/CodeGen/PowerPC/pr24636.ll b/llvm/test/CodeGen/PowerPC/pr24636.ll index 59567ae..d423e6a 100644 --- a/llvm/test/CodeGen/PowerPC/pr24636.ll +++ b/llvm/test/CodeGen/PowerPC/pr24636.ll @@ -25,7 +25,7 @@ define void @fn2() #0 align 4 { .lr.ph.split.split: ; preds = %.lr.ph.split.split, %.lr.ph.split %1 = phi i32 [ %2, %.lr.ph.split.split ], [ undef, %.lr.ph.split ] - %2 = and i32 %1, and (i32 and (i32 and (i32 and (i32 and (i32 and (i32 and (i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq ([1 x i32]* bitcast (i32* @c to [1 x i32]*), [1 x i32]* @b), i1 true, i1 false) to i32)) + %2 = and i32 %1, and (i32 and (i32 and (i32 and (i32 and (i32 and (i32 and (i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)), i32 zext (i1 select (i1 icmp eq (ptr @c, ptr @b), i1 true, i1 false) to i32)) %3 = icmp slt i32 undef, 4 br i1 %3, label %.lr.ph.split.split, label %._crit_edge diff --git a/llvm/test/CodeGen/PowerPC/pr25157-peephole.ll b/llvm/test/CodeGen/PowerPC/pr25157-peephole.ll index d3bfb91..0dccbab 100644 --- a/llvm/test/CodeGen/PowerPC/pr25157-peephole.ll +++ b/llvm/test/CodeGen/PowerPC/pr25157-peephole.ll @@ -49,10 +49,10 @@ L.LB38_2937: unreachable L.LB38_2452: - %0 = load float, float* bitcast (i8* getelementptr inbounds (%struct.BSS38.51.4488.9911.14348.16813.20264.24701.28152.31603.35054.39491.44914.45407.46393.46886.47872.49351.49844.50830.51323.52309.53295.53788.54281.55267.55760.59211.61625, %struct.BSS38.51.4488.9911.14348.16813.20264.24701.28152.31603.35054.39491.44914.45407.46393.46886.47872.49351.49844.50830.51323.52309.53295.53788.54281.55267.55760.59211.61625* @.BSS38, i64 0, i32 0, i64 16) to float*), align 16 + %0 = load float, ptr getelementptr inbounds (%struct.BSS38.51.4488.9911.14348.16813.20264.24701.28152.31603.35054.39491.44914.45407.46393.46886.47872.49351.49844.50830.51323.52309.53295.53788.54281.55267.55760.59211.61625, ptr @.BSS38, i64 0, i32 0, i64 16), align 16 %1 = fpext float %0 to double %2 = insertelement <2 x double> undef, double %1, i32 1 - store <2 x double> %2, <2 x double>* bitcast (i8* getelementptr inbounds (%struct_main1_2_.491.4928.10351.14788.17253.20704.25141.28592.32043.35494.39931.45354.45847.46833.47326.48312.49791.50284.51270.51763.52749.53735.54228.54721.55707.56200.59651.61626, %struct_main1_2_.491.4928.10351.14788.17253.20704.25141.28592.32043.35494.39931.45354.45847.46833.47326.48312.49791.50284.51270.51763.52749.53735.54228.54721.55707.56200.59651.61626* @_main1_2_, i64 0, i32 0, i64 32) to <2 x double>*), align 16 + store <2 x double> %2, ptr getelementptr inbounds (%struct_main1_2_.491.4928.10351.14788.17253.20704.25141.28592.32043.35494.39931.45354.45847.46833.47326.48312.49791.50284.51270.51763.52749.53735.54228.54721.55707.56200.59651.61626, ptr @_main1_2_, i64 0, i32 0, i64 32), align 16 unreachable } diff --git a/llvm/test/CodeGen/PowerPC/pr25157.ll b/llvm/test/CodeGen/PowerPC/pr25157.ll index 982dfcd..386d65c 100644 --- a/llvm/test/CodeGen/PowerPC/pr25157.ll +++ b/llvm/test/CodeGen/PowerPC/pr25157.ll @@ -49,10 +49,10 @@ L.LB38_2937: unreachable L.LB38_2452: - %0 = load float, float* bitcast (i8* getelementptr inbounds (%struct.BSS38.51.4488.9911.14348.16813.20264.24701.28152.31603.35054.39491.44914.45407.46393.46886.47872.49351.49844.50830.51323.52309.53295.53788.54281.55267.55760.59211.61625, %struct.BSS38.51.4488.9911.14348.16813.20264.24701.28152.31603.35054.39491.44914.45407.46393.46886.47872.49351.49844.50830.51323.52309.53295.53788.54281.55267.55760.59211.61625* @.BSS38, i64 0, i32 0, i64 16) to float*), align 16 + %0 = load float, ptr getelementptr inbounds (%struct.BSS38.51.4488.9911.14348.16813.20264.24701.28152.31603.35054.39491.44914.45407.46393.46886.47872.49351.49844.50830.51323.52309.53295.53788.54281.55267.55760.59211.61625, ptr @.BSS38, i64 0, i32 0, i64 16), align 16 %1 = fpext float %0 to double %2 = insertelement <2 x double> undef, double %1, i32 1 - store <2 x double> %2, <2 x double>* bitcast (i8* getelementptr inbounds (%struct_main1_2_.491.4928.10351.14788.17253.20704.25141.28592.32043.35494.39931.45354.45847.46833.47326.48312.49791.50284.51270.51763.52749.53735.54228.54721.55707.56200.59651.61626, %struct_main1_2_.491.4928.10351.14788.17253.20704.25141.28592.32043.35494.39931.45354.45847.46833.47326.48312.49791.50284.51270.51763.52749.53735.54228.54721.55707.56200.59651.61626* @_main1_2_, i64 0, i32 0, i64 32) to <2 x double>*), align 16 + store <2 x double> %2, ptr getelementptr inbounds (%struct_main1_2_.491.4928.10351.14788.17253.20704.25141.28592.32043.35494.39931.45354.45847.46833.47326.48312.49791.50284.51270.51763.52749.53735.54228.54721.55707.56200.59651.61626, ptr @_main1_2_, i64 0, i32 0, i64 32), align 16 unreachable } diff --git a/llvm/test/CodeGen/PowerPC/pr26378.ll b/llvm/test/CodeGen/PowerPC/pr26378.ll index 36966a1..472c3a7 100644 --- a/llvm/test/CodeGen/PowerPC/pr26378.ll +++ b/llvm/test/CodeGen/PowerPC/pr26378.ll @@ -1,6 +1,6 @@ ; RUN: llc -verify-machineinstrs -compile-twice -filetype obj \ ; RUN: -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8 < %s @foo = common global i32 0, align 4 -define i8* @blah() #0 { - ret i8* bitcast (i32* @foo to i8*) +define ptr @blah() #0 { + ret ptr @foo } diff --git a/llvm/test/CodeGen/PowerPC/pr26690.ll b/llvm/test/CodeGen/PowerPC/pr26690.ll index 3637408..fb3dca0 100644 --- a/llvm/test/CodeGen/PowerPC/pr26690.ll +++ b/llvm/test/CodeGen/PowerPC/pr26690.ll @@ -5,7 +5,7 @@ %struct.anon.1 = type { i32 } @i = common global i32 0, align 4 -@b = common global i32* null, align 8 +@b = common global ptr null, align 8 @c = common global i32 0, align 4 @a = common global i32 0, align 4 @h = common global i32 0, align 4 @@ -16,20 +16,20 @@ @e = common global i32 0, align 4 ; Function Attrs: norecurse nounwind -define signext i32 @fn1(i32* nocapture %p1, i32 signext %p2, i32* nocapture %p3) { +define signext i32 @fn1(ptr nocapture %p1, i32 signext %p2, ptr nocapture %p3) { entry: - %0 = load i32, i32* @i, align 4, !tbaa !1 + %0 = load i32, ptr @i, align 4, !tbaa !1 %cond = icmp eq i32 %0, 8 br i1 %cond, label %if.end16, label %while.cond.preheader while.cond.preheader: ; preds = %entry - %1 = load i32*, i32** @b, align 8, !tbaa !5 - %2 = load i32, i32* %1, align 4, !tbaa !1 + %1 = load ptr, ptr @b, align 8, !tbaa !5 + %2 = load i32, ptr %1, align 4, !tbaa !1 %tobool18 = icmp eq i32 %2, 0 br i1 %tobool18, label %while.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %while.cond.preheader - %.pre = load i32, i32* @c, align 4, !tbaa !1 + %.pre = load i32, ptr @c, align 4, !tbaa !1 br label %while.body while.body: ; preds = %while.body.backedge, %while.body.lr.ph @@ -44,12 +44,12 @@ while.body.backedge: ; preds = %while.body, %while. br label %while.body sw.bb1: ; preds = %while.body, %while.body, %while.body - store i32 2, i32* @a, align 4, !tbaa !1 + store i32 2, ptr @a, align 4, !tbaa !1 br label %while.cond.backedge while.cond.backedge: ; preds = %while.body, %sw.bb1 - store i32 4, i32* @a, align 4, !tbaa !1 - %.pre19 = load i32, i32* %1, align 4, !tbaa !1 + store i32 4, ptr @a, align 4, !tbaa !1 + %.pre19 = load i32, ptr %1, align 4, !tbaa !1 %tobool = icmp eq i32 %.pre19, 0 br i1 %tobool, label %while.end.loopexit, label %while.body.backedge @@ -57,23 +57,23 @@ while.end.loopexit: ; preds = %while.cond.backedge br label %while.end while.end: ; preds = %while.end.loopexit, %while.cond.preheader - %3 = load i32, i32* @h, align 4, !tbaa !1 + %3 = load i32, ptr @h, align 4, !tbaa !1 %mul = mul nsw i32 %0, %3 - %4 = load i32, i32* @g, align 4, !tbaa !1 + %4 = load i32, ptr @g, align 4, !tbaa !1 %mul4 = mul nsw i32 %mul, %4 - store i32 %mul4, i32* @j, align 4, !tbaa !1 - %5 = load i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @f, i64 0, i32 0, i32 0), align 4, !tbaa !7 + store i32 %mul4, ptr @j, align 4, !tbaa !1 + %5 = load i32, ptr @f, align 4, !tbaa !7 %tobool5 = icmp eq i32 %5, 0 br i1 %tobool5, label %if.end, label %if.then if.then: ; preds = %while.end %div = sdiv i32 %5, %mul - store i32 %div, i32* @g, align 4, !tbaa !1 + store i32 %div, ptr @g, align 4, !tbaa !1 br label %if.end if.end: ; preds = %while.end, %if.then %6 = phi i32 [ %4, %while.end ], [ %div, %if.then ] - %7 = load i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @f, i64 0, i32 1, i32 0), align 4, !tbaa !10 + %7 = load i32, ptr getelementptr inbounds (%struct.anon, ptr @f, i64 0, i32 1, i32 0), align 4, !tbaa !10 %tobool7 = icmp ne i32 %7, 0 %tobool8 = icmp ne i32 %mul4, 0 %or.cond = and i1 %tobool7, %tobool8 @@ -82,10 +82,10 @@ if.end: ; preds = %while.end, %if.then br i1 %or.cond17, label %if.then11, label %if.end13 if.then11: ; preds = %if.end - store i32 %3, i32* @d, align 4, !tbaa !1 - %8 = load i32, i32* @e, align 4, !tbaa !1 - store i32 %8, i32* %p3, align 4, !tbaa !1 - %.pre20 = load i32, i32* @g, align 4, !tbaa !1 + store i32 %3, ptr @d, align 4, !tbaa !1 + %8 = load i32, ptr @e, align 4, !tbaa !1 + store i32 %8, ptr %p3, align 4, !tbaa !1 + %.pre20 = load i32, ptr @g, align 4, !tbaa !1 br label %if.end13 if.end13: ; preds = %if.then11, %if.end @@ -94,7 +94,7 @@ if.end13: ; preds = %if.then11, %if.end br i1 %tobool14, label %if.end16, label %if.then15 if.then15: ; preds = %if.end13 - store i32 %p2, i32* %p1, align 4, !tbaa !1 + store i32 %p2, ptr %p1, align 4, !tbaa !1 br label %if.end16 if.end16: ; preds = %entry, %if.end13, %if.then15 diff --git a/llvm/test/CodeGen/PowerPC/pr27078.ll b/llvm/test/CodeGen/PowerPC/pr27078.ll index 9a1bd3e..6036e4e 100644 --- a/llvm/test/CodeGen/PowerPC/pr27078.ll +++ b/llvm/test/CodeGen/PowerPC/pr27078.ll @@ -1,7 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-linux-gnu -mcpu=pwr8 -mattr=+vsx < %s | FileCheck %s -define <4 x float> @bar(float* %p, float* %q) { +define <4 x float> @bar(ptr %p, ptr %q) { ; CHECK-LABEL: bar: ; CHECK: # %bb.0: ; CHECK-NEXT: li 5, 16 @@ -24,11 +24,9 @@ define <4 x float> @bar(float* %p, float* %q) { ; CHECK-NEXT: lxvw4x 35, 0, 3 ; CHECK-NEXT: vperm 2, 2, 5, 3 ; CHECK-NEXT: blr - %1 = bitcast float* %p to <12 x float>* - %2 = bitcast float* %q to <12 x float>* - %3 = load <12 x float>, <12 x float>* %1, align 16 - %4 = load <12 x float>, <12 x float>* %2, align 16 - %5 = fsub <12 x float> %4, %3 - %6 = shufflevector <12 x float> %5, <12 x float> undef, <4 x i32> - ret <4 x float> %6 + %1 = load <12 x float>, ptr %p, align 16 + %2 = load <12 x float>, ptr %q, align 16 + %3 = fsub <12 x float> %2, %1 + %4 = shufflevector <12 x float> %3, <12 x float> undef, <4 x i32> + ret <4 x float> %4 } diff --git a/llvm/test/CodeGen/PowerPC/pr27350.ll b/llvm/test/CodeGen/PowerPC/pr27350.ll index 93dbd10..1a68f2c 100644 --- a/llvm/test/CodeGen/PowerPC/pr27350.ll +++ b/llvm/test/CodeGen/PowerPC/pr27350.ll @@ -1,13 +1,13 @@ ; RUN: llc -verify-machineinstrs -mcpu=ppc64le -mtriple=powerpc64le-unknown-linux-gnu < %s ; Function Attrs: argmemonly nounwind -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) #0 +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) #0 ; Function Attrs: nounwind define internal fastcc void @foo() unnamed_addr #1 align 2 { entry: - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 undef, i8* align 8 null, i64 16, i1 false) - %0 = load <2 x i64>, <2 x i64>* null, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr align 8 undef, ptr align 8 null, i64 16, i1 false) + %0 = load <2 x i64>, ptr null, align 8 %1 = extractelement <2 x i64> %0, i32 1 %.fca.1.insert159.i = insertvalue [2 x i64] undef, i64 %1, 1 tail call fastcc void @bar([2 x i64] undef, [2 x i64] %.fca.1.insert159.i) #2 diff --git a/llvm/test/CodeGen/PowerPC/pr28130.ll b/llvm/test/CodeGen/PowerPC/pr28130.ll index 4da415b..135c6aa 100644 --- a/llvm/test/CodeGen/PowerPC/pr28130.ll +++ b/llvm/test/CodeGen/PowerPC/pr28130.ll @@ -3,7 +3,7 @@ target triple = "powerpc64le-unknown-linux-gnu" %StructA = type { double, double, double, double, double, double, double, double } -define void @Test(%StructA* %tmp) unnamed_addr #0 align 2 { +define void @Test(ptr %tmp) unnamed_addr #0 align 2 { ; CHECK-LABEL: Test: ; CHECK: lxvd2x ; CHECK-NEXT: xxswapd @@ -16,24 +16,22 @@ define void @Test(%StructA* %tmp) unnamed_addr #0 align 2 { ; CHECK: xxswapd [[OUTPUT:[0-9]+]] ; CHECK-NEXT: stxvd2x [[OUTPUT]] bb: - %tmp2 = getelementptr inbounds %StructA, %StructA* %tmp, i64 0, i32 0 - %tmp4 = bitcast %StructA* %tmp to <2 x double>* - %tmp5 = getelementptr inbounds %StructA, %StructA* %tmp, i64 0, i32 2 - %tmp9 = getelementptr inbounds %StructA, %StructA* %tmp, i64 0, i32 4 - %tmp11 = getelementptr inbounds %StructA, %StructA* %tmp, i64 0, i32 5 - %tmp13 = getelementptr inbounds %StructA, %StructA* %tmp, i64 0, i32 6 - %tmp15 = getelementptr inbounds %StructA, %StructA* %tmp, i64 0, i32 7 - %tmp18 = load double, double* %tmp2, align 16 - %tmp19 = load double, double* %tmp11, align 8 - %tmp20 = load double, double* %tmp9, align 16 + %tmp5 = getelementptr inbounds %StructA, ptr %tmp, i64 0, i32 2 + %tmp9 = getelementptr inbounds %StructA, ptr %tmp, i64 0, i32 4 + %tmp11 = getelementptr inbounds %StructA, ptr %tmp, i64 0, i32 5 + %tmp13 = getelementptr inbounds %StructA, ptr %tmp, i64 0, i32 6 + %tmp15 = getelementptr inbounds %StructA, ptr %tmp, i64 0, i32 7 + %tmp18 = load double, ptr %tmp, align 16 + %tmp19 = load double, ptr %tmp11, align 8 + %tmp20 = load double, ptr %tmp9, align 16 %tmp21 = fsub double 1.210000e+04, %tmp20 %tmp22 = fmul double %tmp18, %tmp21 %tmp23 = fadd double %tmp20, %tmp22 - %tmp24 = load double, double* %tmp13, align 16 + %tmp24 = load double, ptr %tmp13, align 16 %tmp25 = fsub double 1.000000e+02, %tmp24 %tmp26 = fmul double %tmp18, %tmp25 %tmp27 = fadd double %tmp24, %tmp26 - %tmp28 = load double, double* %tmp15, align 8 + %tmp28 = load double, ptr %tmp15, align 8 %tmp29 = insertelement <2 x double> undef, double %tmp19, i32 0 %tmp30 = insertelement <2 x double> %tmp29, double %tmp28, i32 1 %tmp31 = fsub <2 x double> , %tmp30 @@ -41,8 +39,7 @@ bb: %tmp33 = insertelement <2 x double> %tmp32, double %tmp18, i32 1 %tmp34 = fmul <2 x double> %tmp33, %tmp31 %tmp35 = fadd <2 x double> %tmp30, %tmp34 - %tmp36 = bitcast double* %tmp5 to <2 x double>* - %tmp37 = load <2 x double>, <2 x double>* %tmp36, align 16 + %tmp37 = load <2 x double>, ptr %tmp5, align 16 %tmp38 = fsub <2 x double> , %tmp37 %tmp39 = fmul <2 x double> %tmp33, %tmp38 %tmp40 = fadd <2 x double> %tmp37, %tmp39 @@ -55,15 +52,14 @@ bb: %tmp48 = fsub double 1.440000e+04, %tmp23 %tmp49 = fmul double %tmp18, %tmp48 %tmp50 = fadd double %tmp23, %tmp49 - store double %tmp50, double* %tmp9, align 16 + store double %tmp50, ptr %tmp9, align 16 %tmp51 = fsub double 1.000000e+02, %tmp27 %tmp52 = fmul double %tmp18, %tmp51 %tmp53 = fadd double %tmp27, %tmp52 - store double %tmp53, double* %tmp13, align 16 + store double %tmp53, ptr %tmp13, align 16 %tmp54 = extractelement <2 x double> %tmp46, i32 1 - store double %tmp54, double* %tmp15, align 8 - %tmp55 = bitcast double* %tmp5 to <2 x double>* - store <2 x double> %tmp43, <2 x double>* %tmp55, align 16 + store double %tmp54, ptr %tmp15, align 8 + store <2 x double> %tmp43, ptr %tmp5, align 16 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr28630.ll b/llvm/test/CodeGen/PowerPC/pr28630.ll index a6759fa..95d7aa5 100644 --- a/llvm/test/CodeGen/PowerPC/pr28630.ll +++ b/llvm/test/CodeGen/PowerPC/pr28630.ll @@ -7,7 +7,7 @@ define double @test() { @g = common global double 0.000000e+00, align 8 define double @testitd() { - %g = load double, double* @g, align 8 + %g = load double, ptr @g, align 8 ret double %g } diff --git a/llvm/test/CodeGen/PowerPC/pr30451.ll b/llvm/test/CodeGen/PowerPC/pr30451.ll index 55d0cab..96f4e95 100644 --- a/llvm/test/CodeGen/PowerPC/pr30451.ll +++ b/llvm/test/CodeGen/PowerPC/pr30451.ll @@ -2,13 +2,12 @@ define i8 @atomic_min_i8() { top: %0 = alloca i8, align 2 - %1 = bitcast i8* %0 to i8* - call void @llvm.lifetime.start.p0i8(i64 2, i8* %1) - store i8 -1, i8* %0, align 2 - %2 = atomicrmw min i8* %0, i8 0 acq_rel - %3 = load atomic i8, i8* %0 acquire, align 8 - call void @llvm.lifetime.end.p0i8(i64 2, i8* %1) - ret i8 %3 + call void @llvm.lifetime.start.p0(i64 2, ptr %0) + store i8 -1, ptr %0, align 2 + %1 = atomicrmw min ptr %0, i8 0 acq_rel + %2 = load atomic i8, ptr %0 acquire, align 8 + call void @llvm.lifetime.end.p0(i64 2, ptr %0) + ret i8 %2 ; CHECK-LABEL: atomic_min_i8 ; CHECK: lbarx [[DST:[0-9]+]], ; CHECK-NEXT: extsb [[EXT:[0-9]+]], [[DST]] @@ -18,13 +17,12 @@ define i8 @atomic_min_i8() { define i16 @atomic_min_i16() { top: %0 = alloca i16, align 2 - %1 = bitcast i16* %0 to i8* - call void @llvm.lifetime.start.p0i8(i64 2, i8* %1) - store i16 -1, i16* %0, align 2 - %2 = atomicrmw min i16* %0, i16 0 acq_rel - %3 = load atomic i16, i16* %0 acquire, align 8 - call void @llvm.lifetime.end.p0i8(i64 2, i8* %1) - ret i16 %3 + call void @llvm.lifetime.start.p0(i64 2, ptr %0) + store i16 -1, ptr %0, align 2 + %1 = atomicrmw min ptr %0, i16 0 acq_rel + %2 = load atomic i16, ptr %0 acquire, align 8 + call void @llvm.lifetime.end.p0(i64 2, ptr %0) + ret i16 %2 ; CHECK-LABEL: atomic_min_i16 ; CHECK: lharx [[DST:[0-9]+]], ; CHECK-NEXT: extsh [[EXT:[0-9]+]], [[DST]] @@ -35,13 +33,12 @@ define i16 @atomic_min_i16() { define i8 @atomic_max_i8() { top: %0 = alloca i8, align 2 - %1 = bitcast i8* %0 to i8* - call void @llvm.lifetime.start.p0i8(i64 2, i8* %1) - store i8 -1, i8* %0, align 2 - %2 = atomicrmw max i8* %0, i8 0 acq_rel - %3 = load atomic i8, i8* %0 acquire, align 8 - call void @llvm.lifetime.end.p0i8(i64 2, i8* %1) - ret i8 %3 + call void @llvm.lifetime.start.p0(i64 2, ptr %0) + store i8 -1, ptr %0, align 2 + %1 = atomicrmw max ptr %0, i8 0 acq_rel + %2 = load atomic i8, ptr %0 acquire, align 8 + call void @llvm.lifetime.end.p0(i64 2, ptr %0) + ret i8 %2 ; CHECK-LABEL: atomic_max_i8 ; CHECK: lbarx [[DST:[0-9]+]], ; CHECK-NEXT: extsb [[EXT:[0-9]+]], [[DST]] @@ -51,13 +48,12 @@ define i8 @atomic_max_i8() { define i16 @atomic_max_i16() { top: %0 = alloca i16, align 2 - %1 = bitcast i16* %0 to i8* - call void @llvm.lifetime.start.p0i8(i64 2, i8* %1) - store i16 -1, i16* %0, align 2 - %2 = atomicrmw max i16* %0, i16 0 acq_rel - %3 = load atomic i16, i16* %0 acquire, align 8 - call void @llvm.lifetime.end.p0i8(i64 2, i8* %1) - ret i16 %3 + call void @llvm.lifetime.start.p0(i64 2, ptr %0) + store i16 -1, ptr %0, align 2 + %1 = atomicrmw max ptr %0, i16 0 acq_rel + %2 = load atomic i16, ptr %0 acquire, align 8 + call void @llvm.lifetime.end.p0(i64 2, ptr %0) + ret i16 %2 ; CHECK-LABEL: atomic_max_i16 ; CHECK: lharx [[DST:[0-9]+]], ; CHECK-NEXT: extsh [[EXT:[0-9]+]], [[DST]] @@ -65,5 +61,5 @@ define i16 @atomic_max_i16() { ; CHECK-NEXT: bgt 0 } -declare void @llvm.lifetime.start.p0i8(i64, i8*) -declare void @llvm.lifetime.end.p0i8(i64, i8*) +declare void @llvm.lifetime.start.p0(i64, ptr) +declare void @llvm.lifetime.end.p0(i64, ptr) diff --git a/llvm/test/CodeGen/PowerPC/pr30663.ll b/llvm/test/CodeGen/PowerPC/pr30663.ll index 0772fca..fc412e4 100644 --- a/llvm/test/CodeGen/PowerPC/pr30663.ll +++ b/llvm/test/CodeGen/PowerPC/pr30663.ll @@ -6,19 +6,19 @@ target triple = "powerpc64le-linux-gnu" ; CHECK-NOT: xxspltw define void @Test() { bb4: - %tmp = load <4 x i8>, <4 x i8>* undef + %tmp = load <4 x i8>, ptr undef %tmp8 = bitcast <4 x i8> %tmp to float %tmp18 = fmul float %tmp8, undef %tmp19 = fsub float 0.000000e+00, %tmp18 - store float %tmp19, float* undef + store float %tmp19, ptr undef %tmp22 = shufflevector <4 x i8> %tmp, <4 x i8> undef, <16 x i32> %tmp23 = bitcast <16 x i8> %tmp22 to <4 x float> %tmp25 = tail call <4 x float> @llvm.fma.v4f32(<4 x float> undef, <4 x float> %tmp23, <4 x float> undef) %tmp26 = fsub <4 x float> zeroinitializer, %tmp25 %tmp27 = bitcast <4 x float> %tmp26 to <4 x i32> - tail call void @llvm.ppc.altivec.stvx(<4 x i32> %tmp27, i8* undef) + tail call void @llvm.ppc.altivec.stvx(<4 x i32> %tmp27, ptr undef) ret void } -declare void @llvm.ppc.altivec.stvx(<4 x i32>, i8*) +declare void @llvm.ppc.altivec.stvx(<4 x i32>, ptr) declare <4 x float> @llvm.fma.v4f32(<4 x float>, <4 x float>, <4 x float>) diff --git a/llvm/test/CodeGen/PowerPC/pr30715.ll b/llvm/test/CodeGen/PowerPC/pr30715.ll index 51086c6..e4f3229 100644 --- a/llvm/test/CodeGen/PowerPC/pr30715.ll +++ b/llvm/test/CodeGen/PowerPC/pr30715.ll @@ -1,19 +1,18 @@ ; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s %class.FullMatrix = type { i8 } -%class.Vector = type { float* } +%class.Vector = type { ptr } $test = comdat any -define weak_odr void @test(%class.FullMatrix* %this, %class.Vector* dereferenceable(8) %p1, %class.Vector* dereferenceable(8), i1 zeroext) { +define weak_odr void @test(ptr %this, ptr dereferenceable(8) %p1, ptr dereferenceable(8), i1 zeroext) { entry: - %call = tail call signext i32 @fn1(%class.FullMatrix* %this) + %call = tail call signext i32 @fn1(ptr %this) %cmp10 = icmp sgt i32 %call, 0 br i1 %cmp10, label %for.body.lr.ph, label %for.cond.cleanup for.body.lr.ph: ; preds = %entry - %val.i = getelementptr inbounds %class.Vector, %class.Vector* %p1, i64 0, i32 0 - %2 = load float*, float** %val.i, align 8 + %2 = load ptr, ptr %p1, align 8 %wide.trip.count = zext i32 %call to i64 %min.iters.check = icmp ult i32 %call, 4 br i1 %min.iters.check, label %for.body.preheader, label %min.iters.checked @@ -34,17 +33,15 @@ vector.body.preheader: ; preds = %min.iters.checked vector.body: ; preds = %vector.body.preheader, %vector.body %index = phi i64 [ %index.next, %vector.body ], [ 0, %vector.body.preheader ] - %4 = getelementptr inbounds float, float* %2, i64 %index - %5 = bitcast float* %4 to <4 x float>* - %wide.load = load <4 x float>, <4 x float>* %5, align 4 - %6 = fpext <4 x float> %wide.load to <4 x ppc_fp128> - %7 = fadd <4 x ppc_fp128> %6, %6 - %8 = fptrunc <4 x ppc_fp128> %7 to <4 x float> - %9 = bitcast float* %4 to <4 x float>* - store <4 x float> %8, <4 x float>* %9, align 4 + %4 = getelementptr inbounds float, ptr %2, i64 %index + %wide.load = load <4 x float>, ptr %4, align 4 + %5 = fpext <4 x float> %wide.load to <4 x ppc_fp128> + %6 = fadd <4 x ppc_fp128> %5, %5 + %7 = fptrunc <4 x ppc_fp128> %6 to <4 x float> + store <4 x float> %7, ptr %4, align 4 %index.next = add i64 %index, 4 - %10 = icmp eq i64 %index.next, %n.vec - br i1 %10, label %middle.block, label %vector.body + %8 = icmp eq i64 %index.next, %n.vec + br i1 %8, label %middle.block, label %vector.body middle.block: ; preds = %vector.body %cmp.n = icmp eq i32 %3, 0 @@ -58,12 +55,12 @@ for.cond.cleanup: ; preds = %for.cond.cleanup.lo for.body: ; preds = %for.body.preheader, %for.body %indvars.iv = phi i64 [ %indvars.iv.next, %for.body ], [ %indvars.iv.ph, %for.body.preheader ] - %arrayidx.i = getelementptr inbounds float, float* %2, i64 %indvars.iv - %11 = load float, float* %arrayidx.i, align 4 - %conv = fpext float %11 to ppc_fp128 + %arrayidx.i = getelementptr inbounds float, ptr %2, i64 %indvars.iv + %9 = load float, ptr %arrayidx.i, align 4 + %conv = fpext float %9 to ppc_fp128 %add = fadd ppc_fp128 %conv, %conv %conv4 = fptrunc ppc_fp128 %add to float - store float %conv4, float* %arrayidx.i, align 4 + store float %conv4, ptr %arrayidx.i, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond, label %for.cond.cleanup.loopexit, label %for.body @@ -71,4 +68,4 @@ for.body: ; preds = %for.body.preheader, ; CHECK: lxvd2x } -declare signext i32 @fn1(%class.FullMatrix*) local_unnamed_addr #1 +declare signext i32 @fn1(ptr) local_unnamed_addr #1 diff --git a/llvm/test/CodeGen/PowerPC/pr31144.ll b/llvm/test/CodeGen/PowerPC/pr31144.ll index b968b4b..5e16fe8 100644 --- a/llvm/test/CodeGen/PowerPC/pr31144.ll +++ b/llvm/test/CodeGen/PowerPC/pr31144.ll @@ -2,9 +2,9 @@ declare void @bar(double) -define void @foo1(i8* %p) { +define void @foo1(ptr %p) { entry: - %0 = load i8, i8* %p, align 1 + %0 = load i8, ptr %p, align 1 %conv = uitofp i8 %0 to double call void @bar(double %conv) ret void @@ -13,9 +13,9 @@ entry: ; CHECK: mtfprwz } -define void @foo2(i16* %p) { +define void @foo2(ptr %p) { entry: - %0 = load i16, i16* %p, align 2 + %0 = load i16, ptr %p, align 2 %conv = uitofp i16 %0 to double call void @bar(double %conv) ret void diff --git a/llvm/test/CodeGen/PowerPC/pr32063.ll b/llvm/test/CodeGen/PowerPC/pr32063.ll index f031ec8..9922e08 100644 --- a/llvm/test/CodeGen/PowerPC/pr32063.ll +++ b/llvm/test/CodeGen/PowerPC/pr32063.ll @@ -1,11 +1,11 @@ ; RUN: llc -O2 < %s | FileCheck %s target triple = "powerpc64le-linux-gnu" -define void @foo(i32 %v, i16* %p) { +define void @foo(i32 %v, ptr %p) { %1 = and i32 %v, -65536 %2 = tail call i32 @llvm.bswap.i32(i32 %1) %conv = trunc i32 %2 to i16 - store i16 %conv, i16* %p + store i16 %conv, ptr %p ret void ; CHECK: srwi diff --git a/llvm/test/CodeGen/PowerPC/pr32140.ll b/llvm/test/CodeGen/PowerPC/pr32140.ll index bd0b267..bc50f88 100644 --- a/llvm/test/CodeGen/PowerPC/pr32140.ll +++ b/llvm/test/CodeGen/PowerPC/pr32140.ll @@ -37,11 +37,11 @@ define dso_local void @bswapStorei64Toi32() { ; CHECK-BE-NEXT: stwbrx 3, 0, 4 ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* @ai, align 4 + %0 = load i32, ptr @ai, align 4 %conv.i = sext i32 %0 to i64 %or26.i = tail call i64 @llvm.bswap.i64(i64 %conv.i) %conv = trunc i64 %or26.i to i32 - store i32 %conv, i32* @bi, align 4 + store i32 %conv, ptr @bi, align 4 ret void } @@ -75,11 +75,11 @@ define dso_local void @bswapStorei32Toi16() { ; CHECK-BE-NEXT: sthbrx 3, 0, 4 ; CHECK-BE-NEXT: blr entry: - %0 = load i16, i16* @as, align 2 + %0 = load i16, ptr @as, align 2 %conv.i = sext i16 %0 to i32 %or26.i = tail call i32 @llvm.bswap.i32(i32 %conv.i) %conv = trunc i32 %or26.i to i16 - store i16 %conv, i16* @bs, align 2 + store i16 %conv, ptr @bs, align 2 ret void } @@ -113,11 +113,11 @@ define dso_local void @bswapStorei64Toi16() { ; CHECK-BE-NEXT: sthbrx 3, 0, 4 ; CHECK-BE-NEXT: blr entry: - %0 = load i16, i16* @as, align 2 + %0 = load i16, ptr @as, align 2 %conv.i = sext i16 %0 to i64 %or26.i = tail call i64 @llvm.bswap.i64(i64 %conv.i) %conv = trunc i64 %or26.i to i16 - store i16 %conv, i16* @bs, align 2 + store i16 %conv, ptr @bs, align 2 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr33547.ll b/llvm/test/CodeGen/PowerPC/pr33547.ll index 67fbab3e..0df1e35 100644 --- a/llvm/test/CodeGen/PowerPC/pr33547.ll +++ b/llvm/test/CodeGen/PowerPC/pr33547.ll @@ -27,24 +27,23 @@ define void @main() { ; CHECK-NEXT: mtlr 0 ; CHECK-NEXT: blr L.entry: - tail call void @testFunc(i64* bitcast (i8* getelementptr inbounds (%struct.STATICS1, %struct.STATICS1* @.STATICS1, i64 0, i32 0, i64 124) to i64*), i64* bitcast (i32* @.C302_MAIN_ to i64*)) + tail call void @testFunc(ptr getelementptr inbounds (%struct.STATICS1, ptr @.STATICS1, i64 0, i32 0, i64 124), ptr @.C302_MAIN_) ret void } ; Function Attrs: noinline norecurse nounwind readonly -define signext i32 @ifunc_(i64* nocapture readonly %i) { +define signext i32 @ifunc_(ptr nocapture readonly %i) { ; CHECK-LABEL: ifunc_: ; CHECK: # %bb.0: # %L.entry ; CHECK-NEXT: lwa 3, 0(3) ; CHECK-NEXT: blr L.entry: - %0 = bitcast i64* %i to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %0 = load i32, ptr %i, align 4 + ret i32 %0 } ; Function Attrs: noinline norecurse nounwind -define void @testFunc(i64* nocapture %r, i64* nocapture readonly %k) { +define void @testFunc(ptr nocapture %r, ptr nocapture readonly %k) { ; CHECK-LABEL: testFunc: ; CHECK: # %bb.0: # %L.entry ; CHECK-NEXT: mflr 0 @@ -86,9 +85,8 @@ define void @testFunc(i64* nocapture %r, i64* nocapture readonly %k) { ; CHECK-NEXT: mtlr 0 ; CHECK-NEXT: blr L.entry: - %0 = bitcast i64* %k to i32* - %1 = load i32, i32* %0, align 4 - switch i32 %1, label %L.LB3_307 [ + %0 = load i32, ptr %k, align 4 + switch i32 %0, label %L.LB3_307 [ i32 1, label %L.LB3_307.sink.split i32 3, label %L.LB3_307.sink.split i32 4, label %L.LB3_321.split @@ -108,8 +106,7 @@ L.LB3_321.split: ; preds = %L.entry L.LB3_307.sink.split: ; preds = %L.LB3_321.split, %L.entry, %L.entry, %L.entry %.sink = phi i32 [ 5, %L.LB3_321.split ], [ -3, %L.entry ], [ -3, %L.entry ], [ -3, %L.entry ] - %2 = bitcast i64* %r to i32* - store i32 %.sink, i32* %2, align 4 + store i32 %.sink, ptr %r, align 4 br label %L.LB3_307 L.LB3_307: ; preds = %L.LB3_307.sink.split, %L.entry diff --git a/llvm/test/CodeGen/PowerPC/pr35402.ll b/llvm/test/CodeGen/PowerPC/pr35402.ll index 3bc7a94..566beed 100644 --- a/llvm/test/CodeGen/PowerPC/pr35402.ll +++ b/llvm/test/CodeGen/PowerPC/pr35402.ll @@ -2,7 +2,7 @@ ; RUN: llc -O2 < %s | FileCheck %s target triple = "powerpc64le-linux-gnu" -define void @test(i8* %p, i64 %data) { +define void @test(ptr %p, i64 %data) { ; CHECK-LABEL: test: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: rotldi 5, 4, 16 @@ -19,9 +19,8 @@ define void @test(i8* %p, i64 %data) { ; CHECK-NEXT: blr entry: %0 = tail call i64 @llvm.bswap.i64(i64 %data) - %ptr = bitcast i8* %p to i48* %val = trunc i64 %0 to i48 - store i48 %val, i48* %ptr, align 1 + store i48 %val, ptr %p, align 1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr35688.ll b/llvm/test/CodeGen/PowerPC/pr35688.ll index 5b156fc..8a4351b 100644 --- a/llvm/test/CodeGen/PowerPC/pr35688.ll +++ b/llvm/test/CodeGen/PowerPC/pr35688.ll @@ -25,8 +25,8 @@ entry: br label %fe_cmovznz.exit.i534.i.15 fe_cmovznz.exit.i534.i.15: ; preds = %fe_cmovznz.exit.i534.i.15, %entry - %0 = load i64, i64* undef, align 8 - %1 = load i64, i64* undef, align 8 + %0 = load i64, ptr undef, align 8 + %1 = load i64, ptr undef, align 8 %conv.i69.i.i = zext i64 %0 to i128 %sub.i72.i.i = sub nsw i128 0, %conv.i69.i.i %conv.i63.i.i = zext i64 %1 to i128 @@ -36,7 +36,7 @@ fe_cmovznz.exit.i534.i.15: ; preds = %fe_cmovznz.exit.i53 %conv1.i58.i.i = and i128 %sub.i65.lobit.i.i, 18446744073709551615 %add3.i59.i.i = add nuw nsw i128 %conv1.i58.i.i, 0 %conv4.i60.i.i = trunc i128 %add3.i59.i.i to i64 - store i64 %conv4.i60.i.i, i64* undef, align 16 + store i64 %conv4.i60.i.i, ptr undef, align 16 br label %fe_cmovznz.exit.i534.i.15 } diff --git a/llvm/test/CodeGen/PowerPC/pr36068.ll b/llvm/test/CodeGen/PowerPC/pr36068.ll index ee56d02..591f4ae 100644 --- a/llvm/test/CodeGen/PowerPC/pr36068.ll +++ b/llvm/test/CodeGen/PowerPC/pr36068.ll @@ -4,15 +4,15 @@ @glob = local_unnamed_addr global <4 x float> zeroinitializer, align 4 ; Function Attrs: norecurse nounwind -define void @test(float %a, <4 x float>* nocapture readonly %b) { +define void @test(float %a, ptr nocapture readonly %b) { ; CHECK-LABEL: test ; CHECK: xscvdpspn [[REG:[0-9]+]], 1 ; CHECK: xxspltw {{[0-9]+}}, [[REG]], 0 entry: %splat.splatinsert = insertelement <4 x float> undef, float %a, i32 0 %splat.splat = shufflevector <4 x float> %splat.splatinsert, <4 x float> undef, <4 x i32> zeroinitializer - %0 = load <4 x float>, <4 x float>* %b, align 4 + %0 = load <4 x float>, ptr %b, align 4 %mul = fmul <4 x float> %splat.splat, %0 - store <4 x float> %mul, <4 x float>* @glob, align 4 + store <4 x float> %mul, ptr @glob, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr36292.ll b/llvm/test/CodeGen/PowerPC/pr36292.ll index 5ee1a28..3cdc8b6 100644 --- a/llvm/test/CodeGen/PowerPC/pr36292.ll +++ b/llvm/test/CodeGen/PowerPC/pr36292.ll @@ -33,18 +33,18 @@ define void @test() nounwind comdat { br label %forcond forcond: ; preds = %bounds.ok, %0 - %1 = load i64, i64* %pos - %.len1 = load i64, i64* undef + %1 = load i64, ptr %pos + %.len1 = load i64, ptr undef %bounds.cmp = icmp ult i64 %1, %.len1 br i1 %bounds.cmp, label %bounds.ok, label %bounds.fail bounds.ok: ; preds = %forcond - %2 = load float, float* undef + %2 = load float, ptr undef %3 = frem float 0.000000e+00, %2 - store float %3, float* undef - %4 = load i64, i64* %pos + store float %3, ptr undef + %4 = load i64, ptr %pos %5 = add i64 %4, 1 - store i64 %5, i64* %pos + store i64 %5, ptr %pos br label %forcond bounds.fail: ; preds = %forcond diff --git a/llvm/test/CodeGen/PowerPC/pr38087.ll b/llvm/test/CodeGen/PowerPC/pr38087.ll index 95bb3ec..1216fa9 100644 --- a/llvm/test/CodeGen/PowerPC/pr38087.ll +++ b/llvm/test/CodeGen/PowerPC/pr38087.ll @@ -20,7 +20,7 @@ define void @draw_llvm_vs_variant0(<4 x float> %x) { ; CHECK-NEXT: stxv vs0, 0(r3) ; CHECK-NEXT: blr entry: - %.size = load i32, i32* undef + %.size = load i32, ptr undef %0 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %.size, i32 7) %1 = extractvalue { i32, i1 } %0, 0 %2 = call { i32, i1 } @llvm.usub.with.overflow.i32(i32 %1, i32 0) @@ -28,7 +28,7 @@ entry: %4 = select i1 false, i32 0, i32 %3 %5 = xor i1 false, true %6 = sext i1 %5 to i32 - %7 = load <4 x i16>, <4 x i16>* undef, align 2 + %7 = load <4 x i16>, ptr undef, align 2 %8 = extractelement <4 x i16> %7, i32 0 %9 = sext i16 %8 to i32 %10 = insertelement <4 x i32> undef, i32 %9, i32 0 @@ -49,6 +49,6 @@ entry: %25 = bitcast <4 x i32> %24 to <4 x float> %26 = shufflevector <4 x float> %25, <4 x float> undef, <4 x i32> %27 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %x, <4 x float> %x, <4 x float> %26) - store <4 x float> %27, <4 x float>* undef + store <4 x float> %27, ptr undef ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr39478.ll b/llvm/test/CodeGen/PowerPC/pr39478.ll index 648e74a..ebd8df5 100644 --- a/llvm/test/CodeGen/PowerPC/pr39478.ll +++ b/llvm/test/CodeGen/PowerPC/pr39478.ll @@ -3,7 +3,7 @@ ; RUN: llc < %s -mtriple=powerpc64-unknown-unknown -verify-machineinstrs | FileCheck %s --check-prefix=CHECKBE ; RUN: llc < %s -mtriple=powerpc64-ibm-aix-xcoff -verify-machineinstrs | FileCheck %s --check-prefix=CHECKBE -define void @pr39478(i64* %p64, i32* %p32) { +define void @pr39478(ptr %p64, ptr %p32) { ; CHECKLE-LABEL: pr39478: ; CHECKLE: # %bb.0: # %entry ; CHECKLE-NEXT: lbz 3, 4(3) @@ -16,15 +16,15 @@ define void @pr39478(i64* %p64, i32* %p32) { ; CHECKBE-NEXT: stb 3, 3(4) ; CHECKBE-NEXT: blr entry: - %tmp32 = load i64, i64* %p64, align 8 - %tmp33 = load i32, i32* %p32, align 4 + %tmp32 = load i64, ptr %p64, align 8 + %tmp33 = load i32, ptr %p32, align 4 %tmp34 = and i32 %tmp33, -256 %tmp35 = lshr i64 %tmp32, 32 %tmp36 = shl nuw nsw i64 %tmp35, 24 %tmp37 = trunc i64 %tmp36 to i32 %tmp38 = call i32 @llvm.bswap.i32(i32 %tmp37) %tmp39 = or i32 %tmp38, %tmp34 - store i32 %tmp39, i32* %p32, align 4 + store i32 %tmp39, ptr %p32, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr39815.ll b/llvm/test/CodeGen/PowerPC/pr39815.ll index a0cd064..37fff85 100644 --- a/llvm/test/CodeGen/PowerPC/pr39815.ll +++ b/llvm/test/CodeGen/PowerPC/pr39815.ll @@ -1,19 +1,19 @@ ; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-linux-gnu < %s \ ; RUN: -verify-machineinstrs | FileCheck %s -@b = dso_local local_unnamed_addr global i64* null, align 8 +@b = dso_local local_unnamed_addr global ptr null, align 8 @a = dso_local local_unnamed_addr global i8 0, align 1 define void @testADDEPromoteResult() { entry: - %0 = load i64*, i64** @b, align 8 - %1 = load i64, i64* %0, align 8 - %cmp = icmp ne i64* %0, null + %0 = load ptr, ptr @b, align 8 + %1 = load i64, ptr %0, align 8 + %cmp = icmp ne ptr %0, null %conv1 = zext i1 %cmp to i64 %add = add nsw i64 %1, %conv1 %2 = trunc i64 %add to i8 %conv2 = and i8 %2, 5 - store i8 %conv2, i8* @a, align 1 + store i8 %conv2, ptr @a, align 1 ret void ; CHECK-LABEL: @testADDEPromoteResult diff --git a/llvm/test/CodeGen/PowerPC/pr40922.ll b/llvm/test/CodeGen/PowerPC/pr40922.ll index 291070b..983338a 100644 --- a/llvm/test/CodeGen/PowerPC/pr40922.ll +++ b/llvm/test/CodeGen/PowerPC/pr40922.ll @@ -6,8 +6,8 @@ define i32 @a() { entry: - %call = tail call i32 bitcast (i32 (...)* @d to i32 ()*)() - %0 = load i32, i32* @a.b, align 4 + %call = tail call i32 @d() + %0 = load i32, ptr @a.b, align 4 %conv = zext i32 %0 to i64 %add = add nuw nsw i64 %conv, 6 %and = and i64 %add, 8589934575 @@ -15,11 +15,11 @@ entry: br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry - %call3 = tail call i32 bitcast (i32 (...)* @e to i32 ()*)() + %call3 = tail call i32 @e() br label %if.end if.end: ; preds = %if.then, %entry - store i32 %call, i32* @a.b, align 4 + store i32 %call, ptr @a.b, align 4 ret i32 undef } diff --git a/llvm/test/CodeGen/PowerPC/pr41088.ll b/llvm/test/CodeGen/PowerPC/pr41088.ll index bcaf07f..9966d82 100644 --- a/llvm/test/CodeGen/PowerPC/pr41088.ll +++ b/llvm/test/CodeGen/PowerPC/pr41088.ll @@ -3,35 +3,35 @@ ; RUN: -mtriple=powerpc64le-unknown-unknown -verify-machineinstrs < %s | \ ; RUN: FileCheck %s -%0 = type { [0 x i64], %1, [0 x i64], { i64, i8* }, [0 x i64] } -%1 = type { [0 x i64], %2, [0 x i64], i64*, [0 x i64] } +%0 = type { [0 x i64], %1, [0 x i64], { i64, ptr }, [0 x i64] } +%1 = type { [0 x i64], %2, [0 x i64], ptr, [0 x i64] } %2 = type { [0 x i64], %3, [0 x i64], %4, [0 x i8], i8, [7 x i8] } -%3 = type { [0 x i64], { i64*, i64* }, [0 x i64], i64*, [0 x i8], i8, [7 x i8] } -%4 = type { [0 x i64], { i64*, i64* }, [0 x i64], %5, [0 x i64] } -%5 = type { [0 x i64], { i64*, i64* }, [0 x i64], i64*, [0 x i64] } +%3 = type { [0 x i64], { ptr, ptr }, [0 x i64], ptr, [0 x i8], i8, [7 x i8] } +%4 = type { [0 x i64], { ptr, ptr }, [0 x i64], %5, [0 x i64] } +%5 = type { [0 x i64], { ptr, ptr }, [0 x i64], ptr, [0 x i64] } %6 = type { [0 x i64], i64, [2 x i64] } -%7 = type { [0 x i64], { i64*, i64* }, [0 x i64], %8, [0 x i64] } -%8 = type { [0 x i64], %9*, [0 x i32], { i32, i32 }, [0 x i8], i8, [7 x i8] } +%7 = type { [0 x i64], { ptr, ptr }, [0 x i64], %8, [0 x i64] } +%8 = type { [0 x i64], ptr, [0 x i32], { i32, i32 }, [0 x i8], i8, [7 x i8] } %9 = type { [0 x i64], i64, [0 x i64], [0 x %10], [0 x i8], %11 } %10 = type { [0 x i8], i8, [31 x i8] } %11 = type {} %12 = type { [0 x i64], %13, [0 x i32], i32, [0 x i32], i32, [0 x i32] } %13 = type { [0 x i8], i8, [23 x i8] } %14 = type { [0 x i64], i64, [0 x i64], %15, [0 x i32], i32, [0 x i8], i8, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [0 x i8], { i8, i8 }, [7 x i8] } -%15 = type { [0 x i64], { i64*, i64 }, [0 x i64], i64, [0 x i64] } +%15 = type { [0 x i64], { ptr, i64 }, [0 x i64], i64, [0 x i64] } %16 = type { [0 x i64], %17, [0 x i64], %18, [0 x i64], %19, [0 x i64], i64, [0 x i8], { i8, i8 }, [6 x i8] } %17 = type { [0 x i32], i32, [27 x i32] } %18 = type { [0 x i64], i64, [6 x i64] } %19 = type { [0 x i8], i8, [103 x i8] } -%20 = type { [0 x i64], { i64*, i64* }*, [0 x i64], %7**, [0 x i64], i64**, [0 x i64] } -%21 = type { [0 x i64], i64, [0 x i64], void (i32, %21*)*, [0 x i64], [2 x i64], [0 x i64] } +%20 = type { [0 x i64], ptr, [0 x i64], ptr, [0 x i64], ptr, [0 x i64] } +%21 = type { [0 x i64], i64, [0 x i64], ptr, [0 x i64], [2 x i64], [0 x i64] } %22 = type { [0 x i8] } -@var = external dso_local unnamed_addr constant <{ i8*, [8 x i8], i8*, [16 x i8] }>, align 8 +@var = external dso_local unnamed_addr constant <{ ptr, [8 x i8], ptr, [16 x i8] }>, align 8 -declare dso_local fastcc { i64*, i8* } @test2(%0**) unnamed_addr +declare dso_local fastcc { ptr, ptr } @test2(ptr) unnamed_addr -define void @test(%6* %arg, %7* %arg1, %12* %arg2) unnamed_addr personality i32 (i32, i32, i64, %21*, %22*)* @personality { +define void @test(ptr %arg, ptr %arg1, ptr %arg2) unnamed_addr personality ptr @personality { ; CHECK-LABEL: test: ; CHECK: .cfi_personality 148, DW.ref.personality ; CHECK-NEXT: .cfi_lsda 20, .Lexception0 @@ -85,31 +85,31 @@ bb8: ; No predecessors! br label %bb12 bb9: ; preds = %bb3 - %tmp = call i8 @test5(%14* noalias nonnull readonly align 8 dereferenceable(64) undef), !range !0 + %tmp = call i8 @test5(ptr noalias nonnull readonly align 8 dereferenceable(64) undef), !range !0 %tmp10 = zext i8 %tmp to i24 %tmp11 = shl nuw nsw i24 %tmp10, 8 br label %bb12 bb12: ; preds = %bb9, %bb8, %bb7, %bb6, %bb5, %bb3 %tmp13 = phi i24 [ 1024, %bb8 ], [ 768, %bb7 ], [ 512, %bb6 ], [ 256, %bb5 ], [ %tmp11, %bb9 ], [ 0, %bb3 ] - %tmp14 = call fastcc align 8 dereferenceable(288) %16* @test3(%20* noalias nonnull readonly align 8 dereferenceable(24) undef, i24 %tmp13) + %tmp14 = call fastcc align 8 dereferenceable(288) ptr @test3(ptr noalias nonnull readonly align 8 dereferenceable(24) undef, i24 %tmp13) br label %bb22 bb15: ; No predecessors! - %tmp16 = invoke fastcc { i64*, i8* } @test2(%0** nonnull align 8 dereferenceable(8) undef) + %tmp16 = invoke fastcc { ptr, ptr } @test2(ptr nonnull align 8 dereferenceable(8) undef) to label %bb17 unwind label %bb18 bb17: ; preds = %bb15 - invoke void @test4({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly align 8 dereferenceable(40) bitcast (<{ i8*, [8 x i8], i8*, [16 x i8] }>* @var to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*)) + invoke void @test4(ptr noalias readonly align 8 dereferenceable(40) @var) to label %bb23 unwind label %bb25 bb18: ; preds = %bb15 - %tmp19 = landingpad { i8*, i32 } + %tmp19 = landingpad { ptr, i32 } cleanup - resume { i8*, i32 } undef + resume { ptr, i32 } undef bb20: ; No predecessors! - invoke void @test4({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }* noalias readonly align 8 dereferenceable(40) bitcast (<{ i8*, [8 x i8], i8*, [16 x i8] }>* @var to { [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*)) + invoke void @test4(ptr noalias readonly align 8 dereferenceable(40) @var) to label %bb24 unwind label %bb25 bb21: ; preds = %bb @@ -125,17 +125,17 @@ bb24: ; preds = %bb20 unreachable bb25: ; preds = %bb20, %bb17 - %tmp26 = landingpad { i8*, i32 } + %tmp26 = landingpad { ptr, i32 } cleanup - resume { i8*, i32 } undef + resume { ptr, i32 } undef } -declare dso_local fastcc %16* @test3(%20*, i24) unnamed_addr +declare dso_local fastcc ptr @test3(ptr, i24) unnamed_addr -declare i32 @personality(i32, i32, i64, %21*, %22*) unnamed_addr +declare i32 @personality(i32, i32, i64, ptr, ptr) unnamed_addr -declare void @test4({ [0 x i64], { [0 x i8]*, i64 }, [0 x i64], { [0 x i8]*, i64 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] }*) unnamed_addr +declare void @test4(ptr) unnamed_addr -declare i8 @test5(%14*) unnamed_addr +declare i8 @test5(ptr) unnamed_addr !0 = !{i8 0, i8 5} diff --git a/llvm/test/CodeGen/PowerPC/pr41177.ll b/llvm/test/CodeGen/PowerPC/pr41177.ll index 5210844..95de7b3 100644 --- a/llvm/test/CodeGen/PowerPC/pr41177.ll +++ b/llvm/test/CodeGen/PowerPC/pr41177.ll @@ -2,11 +2,11 @@ ; REQUIRES: asserts define protected swiftcc void @"$s22LanguageServerProtocol13HoverResponseV8contents5rangeAcA13MarkupContentV_SnyAA8PositionVGSgtcfC"() { - %1 = load <2 x i64>, <2 x i64>* undef, align 16 - %2 = load i1, i1* undef, align 8 + %1 = load <2 x i64>, ptr undef, align 16 + %2 = load i1, ptr undef, align 8 %3 = insertelement <2 x i1> undef, i1 %2, i32 0 %4 = shufflevector <2 x i1> %3, <2 x i1> undef, <2 x i32> zeroinitializer %5 = select <2 x i1> %4, <2 x i64> zeroinitializer, <2 x i64> %1 - store <2 x i64> %5, <2 x i64>* undef, align 8 + store <2 x i64> %5, ptr undef, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr42492.ll b/llvm/test/CodeGen/PowerPC/pr42492.ll index ec1697b..ba5ac91 100644 --- a/llvm/test/CodeGen/PowerPC/pr42492.ll +++ b/llvm/test/CodeGen/PowerPC/pr42492.ll @@ -1,7 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr9 < %s | FileCheck %s -define void @f(i8*, i8*, i64*) { +define void @f(ptr, ptr, ptr) { ; Check we don't assert and this is not a Hardware Loop ; CHECK-LABEL: f: ; CHECK: # %bb.0: @@ -24,16 +24,16 @@ define void @f(i8*, i8*, i64*) { ; CHECK-NEXT: std 3, 8(5) ; CHECK-NEXT: blr - %4 = icmp eq i8* %0, %1 + %4 = icmp eq ptr %0, %1 br i1 %4, label %9, label %5 5: ; preds = %3 - %6 = getelementptr inbounds i64, i64* %2, i64 1 - %7 = load i64, i64* %6, align 8 + %6 = getelementptr inbounds i64, ptr %2, i64 1 + %7 = load i64, ptr %6, align 8 br label %10 8: ; preds = %10 - store i64 %14, i64* %6, align 8 + store i64 %14, ptr %6, align 8 br label %9 9: ; preds = %8, %3 @@ -42,12 +42,12 @@ define void @f(i8*, i8*, i64*) { 10: ; preds = %5, %10 %11 = phi i64 [ %7, %5 ], [ %14, %10 ] %12 = phi i32 [ 0, %5 ], [ %15, %10 ] - %13 = phi i8* [ %0, %5 ], [ %16, %10 ] + %13 = phi ptr [ %0, %5 ], [ %16, %10 ] %14 = shl nsw i64 %11, 4 %15 = add nuw nsw i32 %12, 1 - %16 = getelementptr inbounds i8, i8* %13, i64 1 + %16 = getelementptr inbounds i8, ptr %13, i64 1 %17 = icmp ugt i32 %12, 14 - %18 = icmp eq i8* %16, %1 + %18 = icmp eq ptr %16, %1 %19 = or i1 %18, %17 br i1 %19, label %8, label %10 } diff --git a/llvm/test/CodeGen/PowerPC/pr43527.ll b/llvm/test/CodeGen/PowerPC/pr43527.ll index 0a03c3f..577d09a 100644 --- a/llvm/test/CodeGen/PowerPC/pr43527.ll +++ b/llvm/test/CodeGen/PowerPC/pr43527.ll @@ -54,12 +54,12 @@ bb4: ; preds = %bb3 bb5: ; preds = %bb5, %bb4 %tmp6 = phi i64 [ %tmp12, %bb5 ], [ 0, %bb4 ] - %tmp7 = getelementptr inbounds float, float* null, i64 %tmp6 - %tmp8 = load float, float* %tmp7, align 4 + %tmp7 = getelementptr inbounds float, ptr null, i64 %tmp6 + %tmp8 = load float, ptr %tmp7, align 4 %tmp9 = fpext float %tmp8 to double %tmp10 = tail call i64 @llvm.lrint.i64.f64(double %tmp9) #2 %tmp11 = trunc i64 %tmp10 to i8 - store i8 %tmp11, i8* undef, align 1 + store i8 %tmp11, ptr undef, align 1 %tmp12 = add nuw i64 %tmp6, 1 %tmp13 = icmp eq i64 %tmp12, %tmp br i1 %tmp13, label %bb15, label %bb5 diff --git a/llvm/test/CodeGen/PowerPC/pr43976.ll b/llvm/test/CodeGen/PowerPC/pr43976.ll index debf439..4dfb934 100644 --- a/llvm/test/CodeGen/PowerPC/pr43976.ll +++ b/llvm/test/CodeGen/PowerPC/pr43976.ll @@ -45,7 +45,7 @@ define dso_local signext i32 @b() local_unnamed_addr #0 { ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %0 = load double, double* @a, align 8 + %0 = load double, ptr @a, align 8 %conv = fptoui double %0 to i64 %conv1 = sitofp i64 %conv to double %mul = fmul double %conv1, 1.000000e+06 diff --git a/llvm/test/CodeGen/PowerPC/pr44183.ll b/llvm/test/CodeGen/PowerPC/pr44183.ll index b58ae71..befa20b 100644 --- a/llvm/test/CodeGen/PowerPC/pr44183.ll +++ b/llvm/test/CodeGen/PowerPC/pr44183.ll @@ -6,7 +6,7 @@ %struct.l.0.3.6.9 = type { i8 } %struct.a.1.4.7.10 = type { [27 x i8], [0 x i32], [4 x i8] } -define void @_ZN1m1nEv(%struct.m.2.5.8.11* %this) local_unnamed_addr nounwind align 2 { +define void @_ZN1m1nEv(ptr %this) local_unnamed_addr nounwind align 2 { ; CHECK-LABEL: _ZN1m1nEv: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mflr r0 @@ -37,22 +37,21 @@ define void @_ZN1m1nEv(%struct.m.2.5.8.11* %this) local_unnamed_addr nounwind al ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %bc = getelementptr inbounds %struct.m.2.5.8.11, %struct.m.2.5.8.11* %this, i64 0, i32 2 - %0 = bitcast %struct.a.1.4.7.10* %bc to i216* - %bf.load = load i216, i216* %0, align 8 + %bc = getelementptr inbounds %struct.m.2.5.8.11, ptr %this, i64 0, i32 2 + %bf.load = load i216, ptr %bc, align 8 %bf.lshr = lshr i216 %bf.load, 4 %shl.i23 = shl i216 %bf.lshr, 31 %shl.i = trunc i216 %shl.i23 to i32 - %arrayidx = getelementptr inbounds %struct.m.2.5.8.11, %struct.m.2.5.8.11* %this, i64 0, i32 2, i32 1, i64 0 - %1 = load i32, i32* %arrayidx, align 4 - %and.i = and i32 %1, 1 + %arrayidx = getelementptr inbounds %struct.m.2.5.8.11, ptr %this, i64 0, i32 2, i32 1, i64 0 + %0 = load i32, ptr %arrayidx, align 4 + %and.i = and i32 %0, 1 %or.i = or i32 %and.i, %shl.i - tail call void @_ZN1llsE1d(%struct.l.0.3.6.9* undef, i32 %or.i) #1 - %bf.load10 = load i216, i216* %0, align 8 + tail call void @_ZN1llsE1d(ptr undef, i32 %or.i) #1 + %bf.load10 = load i216, ptr %bc, align 8 %bf.lshr11 = lshr i216 %bf.load10, 4 %shl.i1524 = shl i216 %bf.lshr11, 31 %shl.i15 = trunc i216 %shl.i1524 to i32 - tail call void @_ZN1llsE1d(%struct.l.0.3.6.9* undef, i32 %shl.i15) #1 + tail call void @_ZN1llsE1d(ptr undef, i32 %shl.i15) #1 ret void } -declare void @_ZN1llsE1d(%struct.l.0.3.6.9*, i32) local_unnamed_addr #0 +declare void @_ZN1llsE1d(ptr, i32) local_unnamed_addr #0 diff --git a/llvm/test/CodeGen/PowerPC/pr45186.ll b/llvm/test/CodeGen/PowerPC/pr45186.ll index 5e4a327..41c79f9 100644 --- a/llvm/test/CodeGen/PowerPC/pr45186.ll +++ b/llvm/test/CodeGen/PowerPC/pr45186.ll @@ -6,47 +6,47 @@ @d = local_unnamed_addr global %struct.anon zeroinitializer, align 8 ; Function Attrs: norecurse nounwind readonly -define i64 @e(i8* nocapture readonly %f) local_unnamed_addr #0 { +define i64 @e(ptr nocapture readonly %f) local_unnamed_addr #0 { ; CHECK-LABEL: e: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: ld r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* %f, align 1 + %0 = load i8, ptr %f, align 1 %conv = zext i8 %0 to i64 %shl = shl nuw i64 %conv, 56 - %arrayidx1 = getelementptr inbounds i8, i8* %f, i64 1 - %1 = load i8, i8* %arrayidx1, align 1 + %arrayidx1 = getelementptr inbounds i8, ptr %f, i64 1 + %1 = load i8, ptr %arrayidx1, align 1 %conv2 = zext i8 %1 to i64 %shl3 = shl nuw nsw i64 %conv2, 48 %or = or i64 %shl3, %shl - %arrayidx4 = getelementptr inbounds i8, i8* %f, i64 2 - %2 = load i8, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %f, i64 2 + %2 = load i8, ptr %arrayidx4, align 1 %conv5 = zext i8 %2 to i64 %shl6 = shl nuw nsw i64 %conv5, 40 %or7 = or i64 %or, %shl6 - %arrayidx8 = getelementptr inbounds i8, i8* %f, i64 3 - %3 = load i8, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %f, i64 3 + %3 = load i8, ptr %arrayidx8, align 1 %conv9 = zext i8 %3 to i64 %shl10 = shl nuw nsw i64 %conv9, 32 %or11 = or i64 %or7, %shl10 - %arrayidx12 = getelementptr inbounds i8, i8* %f, i64 4 - %4 = load i8, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %f, i64 4 + %4 = load i8, ptr %arrayidx12, align 1 %conv13 = zext i8 %4 to i64 %shl14 = shl nuw nsw i64 %conv13, 24 %or15 = or i64 %or11, %shl14 - %arrayidx16 = getelementptr inbounds i8, i8* %f, i64 5 - %5 = load i8, i8* %arrayidx16, align 1 + %arrayidx16 = getelementptr inbounds i8, ptr %f, i64 5 + %5 = load i8, ptr %arrayidx16, align 1 %conv17 = zext i8 %5 to i64 %shl18 = shl nuw nsw i64 %conv17, 16 %or20 = or i64 %or15, %shl18 - %arrayidx21 = getelementptr inbounds i8, i8* %f, i64 6 - %6 = load i8, i8* %arrayidx21, align 1 + %arrayidx21 = getelementptr inbounds i8, ptr %f, i64 6 + %6 = load i8, ptr %arrayidx21, align 1 %conv22 = zext i8 %6 to i64 %shl23 = shl nuw nsw i64 %conv22, 8 %or25 = or i64 %or20, %shl23 - %arrayidx26 = getelementptr inbounds i8, i8* %f, i64 7 - %7 = load i8, i8* %arrayidx26, align 1 + %arrayidx26 = getelementptr inbounds i8, ptr %f, i64 7 + %7 = load i8, ptr %arrayidx26, align 1 %conv27 = zext i8 %7 to i64 %or28 = or i64 %or25, %conv27 ret i64 %or28 @@ -64,68 +64,68 @@ define void @g() local_unnamed_addr #0 { ; CHECK-NEXT: stxvd2x vs0, 0, r4 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* getelementptr inbounds (i8, i8* bitcast (void ()* @g to i8*), i64 8), align 1 + %0 = load i8, ptr getelementptr inbounds (i8, ptr @g, i64 8), align 1 %conv.i = zext i8 %0 to i64 %shl.i = shl nuw i64 %conv.i, 56 - %1 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 9), align 1 + %1 = load i8, ptr getelementptr (i8, ptr @g, i64 9), align 1 %conv2.i = zext i8 %1 to i64 %shl3.i = shl nuw nsw i64 %conv2.i, 48 %or.i = or i64 %shl3.i, %shl.i - %2 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 10), align 1 + %2 = load i8, ptr getelementptr (i8, ptr @g, i64 10), align 1 %conv5.i = zext i8 %2 to i64 %shl6.i = shl nuw nsw i64 %conv5.i, 40 %or7.i = or i64 %or.i, %shl6.i - %3 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 11), align 1 + %3 = load i8, ptr getelementptr (i8, ptr @g, i64 11), align 1 %conv9.i = zext i8 %3 to i64 %shl10.i = shl nuw nsw i64 %conv9.i, 32 %or11.i = or i64 %or7.i, %shl10.i - %4 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 12), align 1 + %4 = load i8, ptr getelementptr (i8, ptr @g, i64 12), align 1 %conv13.i = zext i8 %4 to i64 %shl14.i = shl nuw nsw i64 %conv13.i, 24 %or15.i = or i64 %or11.i, %shl14.i - %5 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 13), align 1 + %5 = load i8, ptr getelementptr (i8, ptr @g, i64 13), align 1 %conv17.i = zext i8 %5 to i64 %shl18.i = shl nuw nsw i64 %conv17.i, 16 %or20.i = or i64 %or15.i, %shl18.i - %6 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 14), align 1 + %6 = load i8, ptr getelementptr (i8, ptr @g, i64 14), align 1 %conv22.i = zext i8 %6 to i64 %shl23.i = shl nuw nsw i64 %conv22.i, 8 %or25.i = or i64 %or20.i, %shl23.i - %7 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 15), align 1 + %7 = load i8, ptr getelementptr (i8, ptr @g, i64 15), align 1 %conv27.i = zext i8 %7 to i64 %or28.i = or i64 %or25.i, %conv27.i - store i64 %or28.i, i64* getelementptr inbounds (%struct.anon, %struct.anon* @d, i64 0, i32 1), align 8 - %8 = load i8, i8* bitcast (void ()* @g to i8*), align 1 + store i64 %or28.i, ptr getelementptr inbounds (%struct.anon, ptr @d, i64 0, i32 1), align 8 + %8 = load i8, ptr @g, align 1 %conv.i2 = zext i8 %8 to i64 %shl.i3 = shl nuw i64 %conv.i2, 56 - %9 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 1), align 1 + %9 = load i8, ptr getelementptr (i8, ptr @g, i64 1), align 1 %conv2.i4 = zext i8 %9 to i64 %shl3.i5 = shl nuw nsw i64 %conv2.i4, 48 %or.i6 = or i64 %shl3.i5, %shl.i3 - %10 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 2), align 1 + %10 = load i8, ptr getelementptr (i8, ptr @g, i64 2), align 1 %conv5.i7 = zext i8 %10 to i64 %shl6.i8 = shl nuw nsw i64 %conv5.i7, 40 %or7.i9 = or i64 %or.i6, %shl6.i8 - %11 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 3), align 1 + %11 = load i8, ptr getelementptr (i8, ptr @g, i64 3), align 1 %conv9.i10 = zext i8 %11 to i64 %shl10.i11 = shl nuw nsw i64 %conv9.i10, 32 %or11.i12 = or i64 %or7.i9, %shl10.i11 - %12 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 4), align 1 + %12 = load i8, ptr getelementptr (i8, ptr @g, i64 4), align 1 %conv13.i13 = zext i8 %12 to i64 %shl14.i14 = shl nuw nsw i64 %conv13.i13, 24 %or15.i15 = or i64 %or11.i12, %shl14.i14 - %13 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 5), align 1 + %13 = load i8, ptr getelementptr (i8, ptr @g, i64 5), align 1 %conv17.i16 = zext i8 %13 to i64 %shl18.i17 = shl nuw nsw i64 %conv17.i16, 16 %or20.i18 = or i64 %or15.i15, %shl18.i17 - %14 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 6), align 1 + %14 = load i8, ptr getelementptr (i8, ptr @g, i64 6), align 1 %conv22.i19 = zext i8 %14 to i64 %shl23.i20 = shl nuw nsw i64 %conv22.i19, 8 %or25.i21 = or i64 %or20.i18, %shl23.i20 - %15 = load i8, i8* getelementptr (i8, i8* bitcast (void ()* @g to i8*), i64 7), align 1 + %15 = load i8, ptr getelementptr (i8, ptr @g, i64 7), align 1 %conv27.i22 = zext i8 %15 to i64 %or28.i23 = or i64 %or25.i21, %conv27.i22 - store i64 %or28.i23, i64* getelementptr inbounds (%struct.anon, %struct.anon* @d, i64 0, i32 0), align 8 + store i64 %or28.i23, ptr @d, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr45297.ll b/llvm/test/CodeGen/PowerPC/pr45297.ll index 39583d5..f25f5aa 100644 --- a/llvm/test/CodeGen/PowerPC/pr45297.ll +++ b/llvm/test/CodeGen/PowerPC/pr45297.ll @@ -17,6 +17,6 @@ define dso_local void @test(float %0) local_unnamed_addr { ; CHECK-NEXT: blr entry: %1 = fptosi float %0 to i32 - store i32 %1, i32* @Global, align 4 + store i32 %1, ptr @Global, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr45301.ll b/llvm/test/CodeGen/PowerPC/pr45301.ll index 606eaa5..6259716 100644 --- a/llvm/test/CodeGen/PowerPC/pr45301.ll +++ b/llvm/test/CodeGen/PowerPC/pr45301.ll @@ -3,7 +3,7 @@ ; RUN: -ppc-asm-full-reg-names < %s | FileCheck %s %struct.e.0.1.2.3.12.29 = type { [10 x i32] } -define dso_local void @g(%struct.e.0.1.2.3.12.29* %agg.result) local_unnamed_addr #0 { +define dso_local void @g(ptr %agg.result) local_unnamed_addr #0 { ; CHECK-LABEL: g: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mflr r0 @@ -32,25 +32,25 @@ define dso_local void @g(%struct.e.0.1.2.3.12.29* %agg.result) local_unnamed_add ; CHECK-NEXT: mtlr r0 ; CHECK-NEXT: blr entry: - %call = tail call signext i32 bitcast (i32 (...)* @i to i32 ()*)() + %call = tail call signext i32 @i() %conv = sext i32 %call to i64 - %0 = inttoptr i64 %conv to i8* - tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 4 dereferenceable(40) %0, i8* nonnull align 4 dereferenceable(40) bitcast (void (%struct.e.0.1.2.3.12.29*)* @g to i8*), i64 40, i1 false) - %1 = inttoptr i64 %conv to i32* - %2 = load i32, i32* %1, align 4 + %0 = inttoptr i64 %conv to ptr + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 dereferenceable(40) %0, ptr nonnull align 4 dereferenceable(40) @g, i64 40, i1 false) + %1 = inttoptr i64 %conv to ptr + %2 = load i32, ptr %1, align 4 %rev.i = tail call i32 @llvm.bswap.i32(i32 %2) - store i32 %rev.i, i32* %1, align 4 - %incdec.ptr.i.4 = getelementptr inbounds i32, i32* %1, i64 5 - %3 = load i32, i32* %incdec.ptr.i.4, align 4 + store i32 %rev.i, ptr %1, align 4 + %incdec.ptr.i.4 = getelementptr inbounds i32, ptr %1, i64 5 + %3 = load i32, ptr %incdec.ptr.i.4, align 4 %rev.i.5 = tail call i32 @llvm.bswap.i32(i32 %3) - store i32 %rev.i.5, i32* %incdec.ptr.i.4, align 4 + store i32 %rev.i.5, ptr %incdec.ptr.i.4, align 4 ret void } declare i32 @i(...) local_unnamed_addr ; Function Attrs: argmemonly nounwind willreturn -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #1 +declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1 ; Function Attrs: nounwind readnone speculatable willreturn declare i32 @llvm.bswap.i32(i32) diff --git a/llvm/test/CodeGen/PowerPC/pr45432.ll b/llvm/test/CodeGen/PowerPC/pr45432.ll index 7ce996f..a82b2b6 100644 --- a/llvm/test/CodeGen/PowerPC/pr45432.ll +++ b/llvm/test/CodeGen/PowerPC/pr45432.ll @@ -35,10 +35,10 @@ define dso_local void @h() local_unnamed_addr #0 { ; CHECK-NEXT: blr ; CHECK-NEXT: .LBB0_2: # %bb5 bb: - %i = load i32, i32* @g, align 4 + %i = load i32, ptr @g, align 4 %i1 = sext i32 %i to i64 - %i2 = getelementptr inbounds [0 x %1], [0 x %1]* bitcast (double* getelementptr inbounds (%0, %0* @f, i64 1, i32 0) to [0 x %1]*), i64 0, i64 %i1, i32 0 - %i3 = load i32, i32* %i2, align 4 + %i2 = getelementptr inbounds [0 x %1], ptr getelementptr inbounds (%0, ptr @f, i64 1, i32 0), i64 0, i64 %i1, i32 0 + %i3 = load i32, ptr %i2, align 4 %i4 = icmp eq i32 %i3, 0 br i1 %i4, label %bb6, label %bb5 diff --git a/llvm/test/CodeGen/PowerPC/pr45448.ll b/llvm/test/CodeGen/PowerPC/pr45448.ll index 7af188dc..0f8014d 100644 --- a/llvm/test/CodeGen/PowerPC/pr45448.ll +++ b/llvm/test/CodeGen/PowerPC/pr45448.ll @@ -35,7 +35,7 @@ define hidden void @julia_tryparse_internal_45896() #0 { ; CHECK-NEXT: # %bb.9: # %L917 ; CHECK-NEXT: .LBB0_10: # %L994 top: - %0 = load i64, i64* undef, align 8 + %0 = load i64, ptr undef, align 8 %1 = icmp ne i64 %0, 0 %2 = sext i64 %0 to i128 switch i64 %0, label %pass195 [ diff --git a/llvm/test/CodeGen/PowerPC/pr46759.ll b/llvm/test/CodeGen/PowerPC/pr46759.ll index d6d0292..1618648 100644 --- a/llvm/test/CodeGen/PowerPC/pr46759.ll +++ b/llvm/test/CodeGen/PowerPC/pr46759.ll @@ -62,7 +62,7 @@ define void @foo(i32 %vla_size) #0 { entry: %0 = zext i32 %vla_size to i64 %vla = alloca i8, i64 %0, align 2048 - %1 = load volatile i8, i8* %vla, align 2048 + %1 = load volatile i8, ptr %vla, align 2048 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr46923.ll b/llvm/test/CodeGen/PowerPC/pr46923.ll index 0e35d09..fcec60b 100644 --- a/llvm/test/CodeGen/PowerPC/pr46923.ll +++ b/llvm/test/CodeGen/PowerPC/pr46923.ll @@ -22,7 +22,7 @@ false: br label %end end: - %a = phi i1 [ icmp ugt (i64 0, i64 ptrtoint (i64* @bar to i64)), %true ], + %a = phi i1 [ icmp ugt (i64 0, i64 ptrtoint (ptr @bar to i64)), %true ], [ icmp ugt (i64 0, i64 2), %false ] ret i1 %a } diff --git a/llvm/test/CodeGen/PowerPC/pr47707.ll b/llvm/test/CodeGen/PowerPC/pr47707.ll index 099fcf1..047087e 100644 --- a/llvm/test/CodeGen/PowerPC/pr47707.ll +++ b/llvm/test/CodeGen/PowerPC/pr47707.ll @@ -4,7 +4,7 @@ target datalayout = "e-m:e-i64:64-n32:64" target triple = "powerpc64le-grtev4-linux-gnu" -define void @foo(i64* %p1, i64 %v1, i8 %v2, i64 %v3) { +define void @foo(ptr %p1, i64 %v1, i8 %v2, i64 %v3) { ; CHECK-LABEL: foo: ; CHECK: # %bb.0: ; CHECK-NEXT: mr 7, 5 @@ -22,7 +22,7 @@ define void @foo(i64* %p1, i64 %v1, i8 %v2, i64 %v3) { ; CHECK-NEXT: # %bb.3: # %bb3 ; CHECK-NEXT: std 6, 0(3) ; CHECK-NEXT: blr - store i64 0, i64* %p1, align 8 + store i64 0, ptr %p1, align 8 %ext = zext i8 %v2 to i64 %shift = shl nuw i64 %v1, 8 %merge = or i64 %shift, %ext @@ -32,14 +32,14 @@ define void @foo(i64* %p1, i64 %v1, i8 %v2, i64 %v3) { br i1 %cond1, label %bb2, label %bb1 ; be used by this conditional branch bb1: - store i64 %v1, i64* %p1, align 8 + store i64 %v1, ptr %p1, align 8 br label %bb2 bb2: br i1 %not0, label %exit, label %bb3 bb3: - store i64 %v3, i64* %p1, align 8 + store i64 %v3, ptr %p1, align 8 br label %exit exit: diff --git a/llvm/test/CodeGen/PowerPC/pr47891.ll b/llvm/test/CodeGen/PowerPC/pr47891.ll index 2c53769..17ddf8d 100644 --- a/llvm/test/CodeGen/PowerPC/pr47891.ll +++ b/llvm/test/CodeGen/PowerPC/pr47891.ll @@ -4,7 +4,7 @@ %struct.poly2 = type { [11 x i64] } ; Function Attrs: nofree norecurse nounwind -define dso_local void @poly2_lshift1(%struct.poly2* nocapture %p) local_unnamed_addr #0 { +define dso_local void @poly2_lshift1(ptr nocapture %p) local_unnamed_addr #0 { ; CHECK-LABEL: poly2_lshift1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: li r4, 72 @@ -62,50 +62,47 @@ define dso_local void @poly2_lshift1(%struct.poly2* nocapture %p) local_unnamed_ ; CHECK-NEXT: stxvd2x vs0, r3, r4 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 0 - %0 = load i64, i64* %arrayidx, align 8 + %0 = load i64, ptr %p, align 8 %shl = shl i64 %0, 1 - store i64 %shl, i64* %arrayidx, align 8 - %arrayidx.1 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 1 - %1 = load i64, i64* %arrayidx.1, align 8 + store i64 %shl, ptr %p, align 8 + %arrayidx.1 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 1 + %1 = load i64, ptr %arrayidx.1, align 8 %or.1 = call i64 @llvm.fshl.i64(i64 %1, i64 %0, i64 1) - store i64 %or.1, i64* %arrayidx.1, align 8 - %arrayidx.2 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 2 - %2 = load i64, i64* %arrayidx.2, align 8 + store i64 %or.1, ptr %arrayidx.1, align 8 + %arrayidx.2 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 2 + %2 = load i64, ptr %arrayidx.2, align 8 %or.2 = call i64 @llvm.fshl.i64(i64 %2, i64 %1, i64 1) - store i64 %or.2, i64* %arrayidx.2, align 8 - %arrayidx.3 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 3 - %3 = load i64, i64* %arrayidx.3, align 8 + store i64 %or.2, ptr %arrayidx.2, align 8 + %arrayidx.3 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 3 + %3 = load i64, ptr %arrayidx.3, align 8 %or.3 = call i64 @llvm.fshl.i64(i64 %3, i64 %2, i64 1) - store i64 %or.3, i64* %arrayidx.3, align 8 - %arrayidx.4 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 4 - %4 = load i64, i64* %arrayidx.4, align 8 + store i64 %or.3, ptr %arrayidx.3, align 8 + %arrayidx.4 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 4 + %4 = load i64, ptr %arrayidx.4, align 8 %or.4 = call i64 @llvm.fshl.i64(i64 %4, i64 %3, i64 1) - store i64 %or.4, i64* %arrayidx.4, align 8 - %arrayidx.5 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 5 - %5 = load i64, i64* %arrayidx.5, align 8 + store i64 %or.4, ptr %arrayidx.4, align 8 + %arrayidx.5 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 5 + %5 = load i64, ptr %arrayidx.5, align 8 %or.5 = call i64 @llvm.fshl.i64(i64 %5, i64 %4, i64 1) - store i64 %or.5, i64* %arrayidx.5, align 8 - %arrayidx.6 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 6 - %6 = load i64, i64* %arrayidx.6, align 8 + store i64 %or.5, ptr %arrayidx.5, align 8 + %arrayidx.6 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 6 + %6 = load i64, ptr %arrayidx.6, align 8 %or.6 = call i64 @llvm.fshl.i64(i64 %6, i64 %5, i64 1) - store i64 %or.6, i64* %arrayidx.6, align 8 - %arrayidx.7 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 7 - %7 = load i64, i64* %arrayidx.7, align 8 + store i64 %or.6, ptr %arrayidx.6, align 8 + %arrayidx.7 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 7 + %7 = load i64, ptr %arrayidx.7, align 8 %or.7 = call i64 @llvm.fshl.i64(i64 %7, i64 %6, i64 1) - store i64 %or.7, i64* %arrayidx.7, align 8 - %arrayidx.8 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 8 - %8 = load i64, i64* %arrayidx.8, align 8 + store i64 %or.7, ptr %arrayidx.7, align 8 + %arrayidx.8 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 8 + %8 = load i64, ptr %arrayidx.8, align 8 %or.8 = call i64 @llvm.fshl.i64(i64 %8, i64 %7, i64 1) - store i64 %or.8, i64* %arrayidx.8, align 8 - %arrayidx.9 = getelementptr inbounds %struct.poly2, %struct.poly2* %p, i64 0, i32 0, i64 9 - %9 = bitcast i64* %arrayidx.9 to <2 x i64>* - %10 = load <2 x i64>, <2 x i64>* %9, align 8 - %11 = insertelement <2 x i64> undef, i64 %8, i32 0 - %12 = shufflevector <2 x i64> %11, <2 x i64> %10, <2 x i32> - %13 = call <2 x i64> @llvm.fshl.v2i64(<2 x i64> %10, <2 x i64> %12, <2 x i64> ) - %14 = bitcast i64* %arrayidx.9 to <2 x i64>* - store <2 x i64> %13, <2 x i64>* %14, align 8 + store i64 %or.8, ptr %arrayidx.8, align 8 + %arrayidx.9 = getelementptr inbounds %struct.poly2, ptr %p, i64 0, i32 0, i64 9 + %9 = load <2 x i64>, ptr %arrayidx.9, align 8 + %10 = insertelement <2 x i64> undef, i64 %8, i32 0 + %11 = shufflevector <2 x i64> %10, <2 x i64> %9, <2 x i32> + %12 = call <2 x i64> @llvm.fshl.v2i64(<2 x i64> %9, <2 x i64> %11, <2 x i64> ) + store <2 x i64> %12, ptr %arrayidx.9, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr47916.ll b/llvm/test/CodeGen/PowerPC/pr47916.ll index af5c45d..6b1389e 100644 --- a/llvm/test/CodeGen/PowerPC/pr47916.ll +++ b/llvm/test/CodeGen/PowerPC/pr47916.ll @@ -14,8 +14,8 @@ define dso_local void @_Z1jjPiPj() local_unnamed_addr #0 { ; CHECK-NEXT: stxvd2x vs0, 0, r3 ; CHECK-NEXT: blr entry: - %wide.load42 = load <2 x i32>, <2 x i32>* undef, align 4 + %wide.load42 = load <2 x i32>, ptr undef, align 4 %interleaved.vec49 = shufflevector <2 x i32> %wide.load42, <2 x i32> undef, <4 x i32> - store <4 x i32> %interleaved.vec49, <4 x i32>* undef, align 4 + store <4 x i32> %interleaved.vec49, ptr undef, align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr48519.ll b/llvm/test/CodeGen/PowerPC/pr48519.ll index 3552c04..e846619 100644 --- a/llvm/test/CodeGen/PowerPC/pr48519.ll +++ b/llvm/test/CodeGen/PowerPC/pr48519.ll @@ -56,7 +56,7 @@ define void @julia__typed_vcat_20() #0 { ; CHECK-P9-NEXT: xscvdphp f0, f0 ; CHECK-P9-NEXT: stxsihx f0, 0, r3 bb: - %i = load i64, i64 addrspace(11)* null, align 8 + %i = load i64, ptr addrspace(11) null, align 8 %i1 = call { i64, i1 } @llvm.ssub.with.overflow.i64(i64 %i, i64 0) %i2 = extractvalue { i64, i1 } %i1, 0 br label %bb3 @@ -67,7 +67,7 @@ bb3: ; preds = %bb3, %bb %i6 = add nsw i64 %i5, -1 %i7 = add i64 %i6, 0 %i8 = sitofp i64 %i7 to half - store half %i8, half addrspace(13)* undef, align 2 + store half %i8, ptr addrspace(13) undef, align 2 %i9 = icmp eq i64 %i4, 0 %i10 = add i64 %i4, 1 br i1 %i9, label %bb11, label %bb3 @@ -133,7 +133,7 @@ bb1: ; preds = %bb3, %bb bb3: ; preds = %bb1 %i4 = add nuw nsw i64 %i, 1 - %i5 = load half, half* null, align 2 + %i5 = load half, ptr null, align 2 %i6 = fpext half %i5 to float %i7 = fcmp uno float %i6, 0.000000e+00 %i8 = or i1 %i7, false @@ -213,8 +213,8 @@ define void @func_48786() #0 { ; CHECK-P9-NEXT: b .LBB2_1 ; CHECK-P9-NEXT: .LBB2_5: # %bb15 bb: - %i = load i64, i64 addrspace(11)* undef, align 8 - %i1 = load i64, i64 addrspace(11)* undef, align 8 + %i = load i64, ptr addrspace(11) undef, align 8 + %i1 = load i64, ptr addrspace(11) undef, align 8 br label %bb2 bb2: ; preds = %bb12, %bb @@ -228,12 +228,12 @@ bb4: ; preds = %bb2 ] bb5: ; preds = %bb4, %bb4 - %i6 = load half, half addrspace(13)* undef, align 2 + %i6 = load half, ptr addrspace(13) undef, align 2 %i7 = icmp ult i64 0, %i1 br i1 %i7, label %bb8, label %bb15 bb8: ; preds = %bb5 - store half %i6, half addrspace(13)* null, align 2 + store half %i6, ptr addrspace(13) null, align 2 br label %bb10 bb9: ; preds = %bb4 @@ -298,8 +298,8 @@ bb: bb1: ; preds = %bb1, %bb %i = phi i64 [ 0, %bb ], [ %i3, %bb1 ] - %i2 = getelementptr inbounds half, half addrspace(13)* null, i64 %i - store half %arg, half addrspace(13)* %i2, align 2 + %i2 = getelementptr inbounds half, ptr addrspace(13) null, i64 %i + store half %arg, ptr addrspace(13) %i2, align 2 %i3 = add i64 %i, 12 %i4 = icmp eq i64 %i3, 0 br i1 %i4, label %bb5, label %bb1 diff --git a/llvm/test/CodeGen/PowerPC/pr48527.ll b/llvm/test/CodeGen/PowerPC/pr48527.ll index eaff15c..d093631 100644 --- a/llvm/test/CodeGen/PowerPC/pr48527.ll +++ b/llvm/test/CodeGen/PowerPC/pr48527.ll @@ -46,7 +46,7 @@ define void @_ZNK1q1rEv() local_unnamed_addr #0 align 2 { ; CHECK-NEXT: mtlr 0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* undef, align 4 + %0 = load i32, ptr undef, align 4 br label %monotonic.i for.cond.i: ; preds = %monotonic.i @@ -55,15 +55,15 @@ for.cond.i: ; preds = %monotonic.i monotonic.i: ; preds = %for.cond.i, %entry %i.018.i = phi i32 [ %inc.i, %for.cond.i ], [ 0, %entry ] - %1 = load atomic i32, i32* getelementptr inbounds (%struct.e.0.12.28.44.104.108.112.188, %struct.e.0.12.28.44.104.108.112.188* @g, i64 0, i32 0) monotonic, align 4 + %1 = load atomic i32, ptr @g monotonic, align 4 %conv.i = trunc i32 %1 to i8 %tobool.not.i = icmp eq i8 %conv.i, 0 %inc.i = add nuw nsw i32 %i.018.i, 1 br i1 %tobool.not.i, label %for.cond.i, label %if.end if.end: ; preds = %monotonic.i, %for.cond.i - %.sink = phi i64* [ getelementptr inbounds (%struct.t.1.13.29.45.105.109.113.189, %struct.t.1.13.29.45.105.109.113.189* @aj, i64 0, i32 1), %monotonic.i ], [ getelementptr inbounds (%struct.t.1.13.29.45.105.109.113.189, %struct.t.1.13.29.45.105.109.113.189* @aj, i64 0, i32 0), %for.cond.i ] - store i64 1, i64* %.sink, align 8 + %.sink = phi ptr [ getelementptr inbounds (%struct.t.1.13.29.45.105.109.113.189, ptr @aj, i64 0, i32 1), %monotonic.i ], [ @aj, %for.cond.i ] + store i64 1, ptr %.sink, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr49509.ll b/llvm/test/CodeGen/PowerPC/pr49509.ll index f13733c1..7b6248c 100644 --- a/llvm/test/CodeGen/PowerPC/pr49509.ll +++ b/llvm/test/CodeGen/PowerPC/pr49509.ll @@ -56,12 +56,12 @@ bb: bb2: ; preds = %bb %i = select i1 undef, i64 0, i64 72057594037927936 - store i64 %i, i64* undef, align 8 + store i64 %i, ptr undef, align 8 ret void bb1: ; preds = %bb - %i50 = load i8, i8* undef, align 8 - %i52 = load i128, i128* null, align 8 + %i50 = load i8, ptr undef, align 8 + %i52 = load i128, ptr null, align 8 %i62 = icmp eq i8 %i50, 0 br i1 undef, label %bb66, label %bb64 @@ -76,6 +76,6 @@ bb66: ; preds = %bb63 %i71 = icmp eq i128 %i70, 0 %i74 = select i1 %i62, i64 0, i64 72057594037927936 %i75 = select i1 %i71, i64 144115188075855872, i64 %i74 - store i64 %i75, i64* undef, align 8 + store i64 %i75, ptr undef, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/pr56469.ll b/llvm/test/CodeGen/PowerPC/pr56469.ll index a1865de..f7025fc 100644 --- a/llvm/test/CodeGen/PowerPC/pr56469.ll +++ b/llvm/test/CodeGen/PowerPC/pr56469.ll @@ -26,9 +26,9 @@ entry: %conv1 = fpext float %j to double %conv2 = fpext float %k to double %conv3 = fpext float %l to double - %call = tail call signext i32 (i8*, ...) @printf(i8* nonnull dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str, i64 0, i64 0), double %conv, double %conv1, double %conv2, double %conv3) + %call = tail call signext i32 (ptr, ...) @printf(ptr nonnull dereferenceable(1) @.str, double %conv, double %conv1, double %conv2, double %conv3) ret void } -declare signext i32 @printf(i8* nocapture readonly, ...) +declare signext i32 @printf(ptr nocapture readonly, ...) diff --git a/llvm/test/CodeGen/PowerPC/pre-inc-disable.ll b/llvm/test/CodeGen/PowerPC/pre-inc-disable.ll index ad7891c..c33ab66 100644 --- a/llvm/test/CodeGen/PowerPC/pre-inc-disable.ll +++ b/llvm/test/CodeGen/PowerPC/pre-inc-disable.ll @@ -15,7 +15,7 @@ ; RUN: -mtriple=powerpc-ibm-aix-xcoff -vec-extabi \ ; RUN: < %s | FileCheck %s --check-prefixes=P9BE-AIX32 -define void @test64(i8* nocapture readonly %pix2, i32 signext %i_pix2) { +define void @test64(ptr nocapture readonly %pix2, i32 signext %i_pix2) { ; P9LE-LABEL: test64: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: add 5, 3, 4 @@ -113,29 +113,27 @@ define void @test64(i8* nocapture readonly %pix2, i32 signext %i_pix2) { ; P9BE-AIX32-NEXT: blr entry: %idx.ext63 = sext i32 %i_pix2 to i64 - %add.ptr64 = getelementptr inbounds i8, i8* %pix2, i64 %idx.ext63 - %arrayidx5.1 = getelementptr inbounds i8, i8* %add.ptr64, i64 4 - %0 = bitcast i8* %add.ptr64 to <4 x i16>* - %1 = load <4 x i16>, <4 x i16>* %0, align 1 - %reorder_shuffle117 = shufflevector <4 x i16> %1, <4 x i16> undef, <4 x i32> - %2 = zext <4 x i16> %reorder_shuffle117 to <4 x i32> - %3 = sub nsw <4 x i32> zeroinitializer, %2 - %4 = bitcast i8* %arrayidx5.1 to <4 x i16>* - %5 = load <4 x i16>, <4 x i16>* %4, align 1 - %reorder_shuffle115 = shufflevector <4 x i16> %5, <4 x i16> undef, <4 x i32> - %6 = zext <4 x i16> %reorder_shuffle115 to <4 x i32> - %7 = sub nsw <4 x i32> zeroinitializer, %6 - %8 = shl nsw <4 x i32> %7, - %9 = add nsw <4 x i32> %8, %3 - %10 = sub nsw <4 x i32> %9, zeroinitializer - %11 = shufflevector <4 x i32> undef, <4 x i32> %10, <4 x i32> - %12 = add nsw <4 x i32> zeroinitializer, %11 - %13 = shufflevector <4 x i32> %12, <4 x i32> undef, <4 x i32> - store <4 x i32> %13, <4 x i32>* undef, align 16 + %add.ptr64 = getelementptr inbounds i8, ptr %pix2, i64 %idx.ext63 + %arrayidx5.1 = getelementptr inbounds i8, ptr %add.ptr64, i64 4 + %0 = load <4 x i16>, ptr %add.ptr64, align 1 + %reorder_shuffle117 = shufflevector <4 x i16> %0, <4 x i16> undef, <4 x i32> + %1 = zext <4 x i16> %reorder_shuffle117 to <4 x i32> + %2 = sub nsw <4 x i32> zeroinitializer, %1 + %3 = load <4 x i16>, ptr %arrayidx5.1, align 1 + %reorder_shuffle115 = shufflevector <4 x i16> %3, <4 x i16> undef, <4 x i32> + %4 = zext <4 x i16> %reorder_shuffle115 to <4 x i32> + %5 = sub nsw <4 x i32> zeroinitializer, %4 + %6 = shl nsw <4 x i32> %5, + %7 = add nsw <4 x i32> %6, %2 + %8 = sub nsw <4 x i32> %7, zeroinitializer + %9 = shufflevector <4 x i32> undef, <4 x i32> %8, <4 x i32> + %10 = add nsw <4 x i32> zeroinitializer, %9 + %11 = shufflevector <4 x i32> %10, <4 x i32> undef, <4 x i32> + store <4 x i32> %11, ptr undef, align 16 ret void } -define void @test32(i8* nocapture readonly %pix2, i32 signext %i_pix2) { +define void @test32(ptr nocapture readonly %pix2, i32 signext %i_pix2) { ; P9LE-LABEL: test32: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: add 5, 3, 4 @@ -219,29 +217,27 @@ define void @test32(i8* nocapture readonly %pix2, i32 signext %i_pix2) { ; P9BE-AIX32-NEXT: blr entry: %idx.ext63 = sext i32 %i_pix2 to i64 - %add.ptr64 = getelementptr inbounds i8, i8* %pix2, i64 %idx.ext63 - %arrayidx5.1 = getelementptr inbounds i8, i8* %add.ptr64, i64 4 - %0 = bitcast i8* %add.ptr64 to <4 x i8>* - %1 = load <4 x i8>, <4 x i8>* %0, align 1 - %reorder_shuffle117 = shufflevector <4 x i8> %1, <4 x i8> undef, <4 x i32> - %2 = zext <4 x i8> %reorder_shuffle117 to <4 x i32> - %3 = sub nsw <4 x i32> zeroinitializer, %2 - %4 = bitcast i8* %arrayidx5.1 to <4 x i8>* - %5 = load <4 x i8>, <4 x i8>* %4, align 1 - %reorder_shuffle115 = shufflevector <4 x i8> %5, <4 x i8> undef, <4 x i32> - %6 = zext <4 x i8> %reorder_shuffle115 to <4 x i32> - %7 = sub nsw <4 x i32> zeroinitializer, %6 - %8 = shl nsw <4 x i32> %7, - %9 = add nsw <4 x i32> %8, %3 - %10 = sub nsw <4 x i32> %9, zeroinitializer - %11 = shufflevector <4 x i32> undef, <4 x i32> %10, <4 x i32> - %12 = add nsw <4 x i32> zeroinitializer, %11 - %13 = shufflevector <4 x i32> %12, <4 x i32> undef, <4 x i32> - store <4 x i32> %13, <4 x i32>* undef, align 16 + %add.ptr64 = getelementptr inbounds i8, ptr %pix2, i64 %idx.ext63 + %arrayidx5.1 = getelementptr inbounds i8, ptr %add.ptr64, i64 4 + %0 = load <4 x i8>, ptr %add.ptr64, align 1 + %reorder_shuffle117 = shufflevector <4 x i8> %0, <4 x i8> undef, <4 x i32> + %1 = zext <4 x i8> %reorder_shuffle117 to <4 x i32> + %2 = sub nsw <4 x i32> zeroinitializer, %1 + %3 = load <4 x i8>, ptr %arrayidx5.1, align 1 + %reorder_shuffle115 = shufflevector <4 x i8> %3, <4 x i8> undef, <4 x i32> + %4 = zext <4 x i8> %reorder_shuffle115 to <4 x i32> + %5 = sub nsw <4 x i32> zeroinitializer, %4 + %6 = shl nsw <4 x i32> %5, + %7 = add nsw <4 x i32> %6, %2 + %8 = sub nsw <4 x i32> %7, zeroinitializer + %9 = shufflevector <4 x i32> undef, <4 x i32> %8, <4 x i32> + %10 = add nsw <4 x i32> zeroinitializer, %9 + %11 = shufflevector <4 x i32> %10, <4 x i32> undef, <4 x i32> + store <4 x i32> %11, ptr undef, align 16 ret void } -define void @test16(i16* nocapture readonly %sums, i32 signext %delta, i32 signext %thresh) { +define void @test16(ptr nocapture readonly %sums, i32 signext %delta, i32 signext %thresh) { ; P9LE-LABEL: test16: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: sldi 4, 4, 1 @@ -354,10 +350,10 @@ entry: br label %for.body for.body: ; preds = %entry - %arrayidx8 = getelementptr inbounds i16, i16* %sums, i64 %idxprom - %0 = load i16, i16* %arrayidx8, align 2 - %arrayidx16 = getelementptr inbounds i16, i16* %sums, i64 %idxprom15 - %1 = load i16, i16* %arrayidx16, align 2 + %arrayidx8 = getelementptr inbounds i16, ptr %sums, i64 %idxprom + %0 = load i16, ptr %arrayidx8, align 2 + %arrayidx16 = getelementptr inbounds i16, ptr %sums, i64 %idxprom15 + %1 = load i16, ptr %arrayidx16, align 2 %2 = insertelement <4 x i16> undef, i16 %0, i32 2 %3 = insertelement <4 x i16> %2, i16 %1, i32 3 %4 = zext <4 x i16> %3 to <4 x i32> @@ -379,7 +375,7 @@ if.end: ; preds = %for.body ret void } -define void @test8(i8* nocapture readonly %sums, i32 signext %delta, i32 signext %thresh) { +define void @test8(ptr nocapture readonly %sums, i32 signext %delta, i32 signext %thresh) { ; P9LE-LABEL: test8: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: add 6, 3, 4 @@ -496,10 +492,10 @@ entry: br label %for.body for.body: ; preds = %entry - %arrayidx8 = getelementptr inbounds i8, i8* %sums, i64 %idxprom - %0 = load i8, i8* %arrayidx8, align 2 - %arrayidx16 = getelementptr inbounds i8, i8* %sums, i64 %idxprom15 - %1 = load i8, i8* %arrayidx16, align 2 + %arrayidx8 = getelementptr inbounds i8, ptr %sums, i64 %idxprom + %0 = load i8, ptr %arrayidx8, align 2 + %arrayidx16 = getelementptr inbounds i8, ptr %sums, i64 %idxprom15 + %1 = load i8, ptr %arrayidx16, align 2 %2 = insertelement <4 x i8> undef, i8 %0, i32 2 %3 = insertelement <4 x i8> %2, i8 %1, i32 3 %4 = zext <4 x i8> %3 to <4 x i32> diff --git a/llvm/test/CodeGen/PowerPC/preinc-ld-sel-crash.ll b/llvm/test/CodeGen/PowerPC/preinc-ld-sel-crash.ll index 35aec57..aea3246 100644 --- a/llvm/test/CodeGen/PowerPC/preinc-ld-sel-crash.ll +++ b/llvm/test/CodeGen/PowerPC/preinc-ld-sel-crash.ll @@ -2,9 +2,9 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64le-unknown-linux" -%t1 = type { %t2*, %t3* } -%t2 = type <{ %t3*, i32, [4 x i8] }> -%t3 = type { %t3* } +%t1 = type { ptr, ptr } +%t2 = type <{ ptr, i32, [4 x i8] }> +%t3 = type { ptr } @_ZN4Foam10SLListBase13endConstIter_E = external global %t1 @@ -36,12 +36,12 @@ if.then.i181: ; preds = %if.end75 if.then17.i: ; preds = %if.end75 %tobool.i.i.i = icmp eq i32 undef, 0 - %0 = load i64*, i64** undef, align 8 - %agg.tmp.sroa.3.0.copyload33.in.i = select i1 %tobool.i.i.i, i64* bitcast (%t3** getelementptr inbounds (%t1, %t1* @_ZN4Foam10SLListBase13endConstIter_E, i64 0, i32 1) to i64*), i64* %0 - %agg.tmp.sroa.3.0.copyload33.i = load i64, i64* %agg.tmp.sroa.3.0.copyload33.in.i, align 8 - %1 = inttoptr i64 %agg.tmp.sroa.3.0.copyload33.i to %t3* - %2 = load %t3*, %t3** getelementptr inbounds (%t1, %t1* @_ZN4Foam10SLListBase13endConstIter_E, i64 0, i32 1), align 8 - %cmp.i37.i = icmp eq %t3* %1, %2 + %0 = load ptr, ptr undef, align 8 + %agg.tmp.sroa.3.0.copyload33.in.i = select i1 %tobool.i.i.i, ptr getelementptr inbounds (%t1, ptr @_ZN4Foam10SLListBase13endConstIter_E, i64 0, i32 1), ptr %0 + %agg.tmp.sroa.3.0.copyload33.i = load i64, ptr %agg.tmp.sroa.3.0.copyload33.in.i, align 8 + %1 = inttoptr i64 %agg.tmp.sroa.3.0.copyload33.i to ptr + %2 = load ptr, ptr getelementptr inbounds (%t1, ptr @_ZN4Foam10SLListBase13endConstIter_E, i64 0, i32 1), align 8 + %cmp.i37.i = icmp eq ptr %1, %2 br i1 %cmp.i37.i, label %invoke.cont79, label %for.body.lr.ph.i ; CHECK-LABEL: @_ZN4FoamrsIbEERNS_7IstreamES2_RNS_4ListIT_EE diff --git a/llvm/test/CodeGen/PowerPC/preincprep-invoke.ll b/llvm/test/CodeGen/PowerPC/preincprep-invoke.ll index e52e294..ae36800 100644 --- a/llvm/test/CodeGen/PowerPC/preincprep-invoke.ll +++ b/llvm/test/CodeGen/PowerPC/preincprep-invoke.ll @@ -11,7 +11,7 @@ declare void @_ZN13CStdOutStream5FlushEv() declare i32 @__gxx_personality_v0(...) -define void @_Z11GetPasswordP13CStdOutStreamb(i1 %cond, i8 %arg1, i8* %arg2) personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) { +define void @_Z11GetPasswordP13CStdOutStreamb(i1 %cond, i8 %arg1, ptr %arg2) personality ptr @__gxx_personality_v0 { entry: br label %for.cond.i.i @@ -27,7 +27,7 @@ invoke.cont: ; preds = %_ZN11CStringBaseIcE to label %invoke.cont4 unwind label %lpad invoke.cont4: ; preds = %invoke.cont - %call7 = invoke i8* @getpass() + %call7 = invoke ptr @getpass() to label %for.cond.i.i30 unwind label %lpad ; CHECK-LABEL: @_Z11GetPasswordP13CStdOutStreamb @@ -35,18 +35,18 @@ invoke.cont4: ; preds = %invoke.cont for.cond.i.i30: ; preds = %for.cond.i.i30, %invoke.cont4 %indvars.iv.i.i26 = phi i64 [ %indvars.iv.next.i.i29, %for.cond.i.i30 ], [ 0, %invoke.cont4 ] - %arrayidx.i.i27 = getelementptr inbounds i8, i8* %call7, i64 %indvars.iv.i.i26 - %0 = load i8, i8* %arrayidx.i.i27, align 1 + %arrayidx.i.i27 = getelementptr inbounds i8, ptr %call7, i64 %indvars.iv.i.i26 + %0 = load i8, ptr %arrayidx.i.i27, align 1 %1 = add i8 %0, %arg1 - store i8 %1, i8* %arg2, align 1 + store i8 %1, ptr %arg2, align 1 %indvars.iv.next.i.i29 = add nuw nsw i64 %indvars.iv.i.i26, 1 br label %for.cond.i.i30 lpad: ; preds = %invoke.cont4, %invoke.cont, %_ZN11CStringBaseIcEC2EPKc.exit.critedge - %2 = landingpad { i8*, i32 } + %2 = landingpad { ptr, i32 } cleanup - resume { i8*, i32 } undef + resume { ptr, i32 } undef } -declare i8* @getpass() +declare ptr @getpass() diff --git a/llvm/test/CodeGen/PowerPC/private.ll b/llvm/test/CodeGen/PowerPC/private.ll index 7eb4423..4b0be7b 100644 --- a/llvm/test/CodeGen/PowerPC/private.ll +++ b/llvm/test/CodeGen/PowerPC/private.ll @@ -12,7 +12,7 @@ define i32 @bar() nounwind { call void @foo() ; CHECK: lis{{.*}}.Lbaz - %1 = load i32, i32* @baz, align 4 + %1 = load i32, ptr @baz, align 4 ret i32 %1 } diff --git a/llvm/test/CodeGen/PowerPC/pwr7-gt-nop.ll b/llvm/test/CodeGen/PowerPC/pwr7-gt-nop.ll index b7c899c..9e2a841 100644 --- a/llvm/test/CodeGen/PowerPC/pwr7-gt-nop.ll +++ b/llvm/test/CodeGen/PowerPC/pwr7-gt-nop.ll @@ -3,17 +3,17 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind -define void @foo(float* nocapture %a, float* nocapture %b, float* nocapture readonly %c, float* nocapture %d) #0 { +define void @foo(ptr nocapture %a, ptr nocapture %b, ptr nocapture readonly %c, ptr nocapture %d) #0 { ; CHECK-LABEL: @foo entry: - %0 = load float, float* %b, align 4 - store float %0, float* %a, align 4 - %1 = load float, float* %c, align 4 - store float %1, float* %b, align 4 - %2 = load float, float* %a, align 4 - store float %2, float* %d, align 4 + %0 = load float, ptr %b, align 4 + store float %0, ptr %a, align 4 + %1 = load float, ptr %c, align 4 + store float %1, ptr %b, align 4 + %2 = load float, ptr %a, align 4 + store float %2, ptr %d, align 4 ret void ; CHECK: lwz [[REG1:[0-9]+]], 0(4) diff --git a/llvm/test/CodeGen/PowerPC/quadint-return.ll b/llvm/test/CodeGen/PowerPC/quadint-return.ll index ab93e7e..41842dd 100644 --- a/llvm/test/CodeGen/PowerPC/quadint-return.ll +++ b/llvm/test/CodeGen/PowerPC/quadint-return.ll @@ -7,8 +7,8 @@ target triple = "powerpc64-unknown-linux-gnu" define i128 @foo() nounwind { entry: %x = alloca i128, align 16 - store i128 27, i128* %x, align 16 - %0 = load i128, i128* %x, align 16 + store i128 27, ptr %x, align 16 + %0 = load i128, ptr %x, align 16 ret i128 %0 } diff --git a/llvm/test/CodeGen/PowerPC/read-set-flm.ll b/llvm/test/CodeGen/PowerPC/read-set-flm.ll index 83c8edf..9d47eec 100644 --- a/llvm/test/CodeGen/PowerPC/read-set-flm.ll +++ b/llvm/test/CodeGen/PowerPC/read-set-flm.ll @@ -74,7 +74,7 @@ entry: ret double %7 } -define void @cse_nomerge(double* %f1, double* %f2, double %f3) #0 { +define void @cse_nomerge(ptr %f1, ptr %f2, double %f3) #0 { ; CHECK-LABEL: cse_nomerge: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mflr 0 @@ -103,15 +103,15 @@ define void @cse_nomerge(double* %f1, double* %f2, double %f3) #0 { ; CHECK-NEXT: blr entry: %0 = call double @llvm.ppc.readflm() - store double %0, double* %f1, align 8 + store double %0, ptr %f1, align 8 call void @effect_func() %1 = call double @llvm.ppc.readflm() - store double %1, double* %f2, align 8 + store double %1, ptr %f2, align 8 %2 = call contract double @llvm.ppc.setflm(double %f3) ret void } -define void @cse_nomerge_readonly(double* %f1, double* %f2, double %f3) #0 { +define void @cse_nomerge_readonly(ptr %f1, ptr %f2, double %f3) #0 { ; CHECK-LABEL: cse_nomerge_readonly: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mflr 0 @@ -140,10 +140,10 @@ define void @cse_nomerge_readonly(double* %f1, double* %f2, double %f3) #0 { ; CHECK-NEXT: blr entry: %0 = call double @llvm.ppc.readflm() - store double %0, double* %f1, align 8 + store double %0, ptr %f1, align 8 call void @readonly_func() %1 = call double @llvm.ppc.readflm() - store double %1, double* %f2, align 8 + store double %1, ptr %f2, align 8 %2 = call contract double @llvm.ppc.setflm(double %f3) ret void } diff --git a/llvm/test/CodeGen/PowerPC/reduce_cr.ll b/llvm/test/CodeGen/PowerPC/reduce_cr.ll index 6ef00d5..b1cac1cb 100644 --- a/llvm/test/CodeGen/PowerPC/reduce_cr.ll +++ b/llvm/test/CodeGen/PowerPC/reduce_cr.ll @@ -22,14 +22,14 @@ target triple = "powerpc64le-grtev4-linux-gnu" ;CHECK-NEXT: - BB4[optional1]: float = 0.625, int = 8 -define void @loop_test(i32* %tags, i32 %count) { +define void @loop_test(ptr %tags, i32 %count) { entry: br label %for.check for.check: %count.loop = phi i32 [%count, %entry], [%count.sub, %for.latch] %done.count = icmp ugt i32 %count.loop, 0 - %tag_ptr = getelementptr inbounds i32, i32* %tags, i32 %count - %tag = load i32, i32* %tag_ptr + %tag_ptr = getelementptr inbounds i32, ptr %tags, i32 %count + %tag = load i32, ptr %tag_ptr %done.tag = icmp eq i32 %tag, 0 %done = and i1 %done.count, %done.tag br i1 %done, label %test1, label %exit, !prof !1 diff --git a/llvm/test/CodeGen/PowerPC/reduce_scalarization.ll b/llvm/test/CodeGen/PowerPC/reduce_scalarization.ll index 2c5bc80..b7c7fe2 100644 --- a/llvm/test/CodeGen/PowerPC/reduce_scalarization.ll +++ b/llvm/test/CodeGen/PowerPC/reduce_scalarization.ll @@ -19,7 +19,7 @@ ; RUN: FileCheck %s --check-prefix=AIX-32 ; Function Attrs: norecurse nounwind readonly -define dso_local <2 x double> @test1(<2 x float>* nocapture readonly %Ptr) { +define dso_local <2 x double> @test1(ptr nocapture readonly %Ptr) { ; CHECK-LABEL: test1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 0(r3) @@ -41,13 +41,13 @@ define dso_local <2 x double> @test1(<2 x float>* nocapture readonly %Ptr) { ; AIX-32-NEXT: xxmrghd v2, vs1, vs0 ; AIX-32-NEXT: blr entry: - %0 = load <2 x float>, <2 x float>* %Ptr, align 8 + %0 = load <2 x float>, ptr %Ptr, align 8 %1 = fpext <2 x float> %0 to <2 x double> ret <2 x double> %1 } ; Function Attrs: norecurse nounwind readonly -define dso_local <2 x double> @test2(<2 x float>* nocapture readonly %a, <2 x float>* nocapture readonly %b) { +define dso_local <2 x double> @test2(ptr nocapture readonly %a, ptr nocapture readonly %b) { ; CHECK-LABEL: test2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 0(r4) @@ -82,8 +82,8 @@ define dso_local <2 x double> @test2(<2 x float>* nocapture readonly %a, <2 x fl ; AIX-32-NEXT: xxmrghd v2, vs0, vs1 ; AIX-32-NEXT: blr entry: - %0 = load <2 x float>, <2 x float>* %a, align 8 - %1 = load <2 x float>, <2 x float>* %b, align 8 + %0 = load <2 x float>, ptr %a, align 8 + %1 = load <2 x float>, ptr %b, align 8 %sub = fsub <2 x float> %0, %1 %2 = fpext <2 x float> %sub to <2 x double> ret <2 x double> %2 @@ -91,7 +91,7 @@ entry: ; Function Attrs: norecurse nounwind readonly ; Function Attrs: norecurse nounwind readonly -define dso_local <2 x double> @test3(<2 x float>* nocapture readonly %a, <2 x float>* nocapture readonly %b) { +define dso_local <2 x double> @test3(ptr nocapture readonly %a, ptr nocapture readonly %b) { ; CHECK-LABEL: test3: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 0(r4) @@ -126,8 +126,8 @@ define dso_local <2 x double> @test3(<2 x float>* nocapture readonly %a, <2 x fl ; AIX-32-NEXT: xxmrghd v2, vs0, vs1 ; AIX-32-NEXT: blr entry: - %0 = load <2 x float>, <2 x float>* %a, align 8 - %1 = load <2 x float>, <2 x float>* %b, align 8 + %0 = load <2 x float>, ptr %a, align 8 + %1 = load <2 x float>, ptr %b, align 8 %sub = fadd <2 x float> %0, %1 %2 = fpext <2 x float> %sub to <2 x double> ret <2 x double> %2 @@ -135,7 +135,7 @@ entry: ; Function Attrs: norecurse nounwind readonly ; Function Attrs: norecurse nounwind readonly -define dso_local <2 x double> @test4(<2 x float>* nocapture readonly %a, <2 x float>* nocapture readonly %b) { +define dso_local <2 x double> @test4(ptr nocapture readonly %a, ptr nocapture readonly %b) { ; CHECK-LABEL: test4: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 0(r4) @@ -170,8 +170,8 @@ define dso_local <2 x double> @test4(<2 x float>* nocapture readonly %a, <2 x fl ; AIX-32-NEXT: xxmrghd v2, vs0, vs1 ; AIX-32-NEXT: blr entry: - %0 = load <2 x float>, <2 x float>* %a, align 8 - %1 = load <2 x float>, <2 x float>* %b, align 8 + %0 = load <2 x float>, ptr %a, align 8 + %1 = load <2 x float>, ptr %b, align 8 %sub = fmul <2 x float> %0, %1 %2 = fpext <2 x float> %sub to <2 x double> ret <2 x double> %2 @@ -216,7 +216,7 @@ define dso_local <2 x double> @test5(<2 x double> %a) { ; AIX-32-NEXT: xvadddp v2, vs0, v2 ; AIX-32-NEXT: blr entry: - %0 = load <2 x float>, <2 x float>* @G, align 8 + %0 = load <2 x float>, ptr @G, align 8 %1 = fpext <2 x float> %0 to <2 x double> %add = fadd <2 x double> %1, %a ret <2 x double> %add @@ -299,7 +299,7 @@ bb: br label %bb1 bb1: ; preds = %bb - %i = load <2 x float>, <2 x float>* bitcast (i8* getelementptr inbounds ([25 x %0], [25 x %0]* @Glob1, i64 0, i64 6, i32 20, i64 22392) to <2 x float>*), align 8 + %i = load <2 x float>, ptr getelementptr inbounds ([25 x %0], ptr @Glob1, i64 0, i64 6, i32 20, i64 22392), align 8 %i2 = fpext <2 x float> %i to <2 x double> %i3 = fcmp contract oeq <2 x double> zeroinitializer, %i2 %i4 = shufflevector <2 x i1> %i3, <2 x i1> poison, <2 x i32> diff --git a/llvm/test/CodeGen/PowerPC/reduce_scalarization02.ll b/llvm/test/CodeGen/PowerPC/reduce_scalarization02.ll index 1dc40ed..ea77ed2 100644 --- a/llvm/test/CodeGen/PowerPC/reduce_scalarization02.ll +++ b/llvm/test/CodeGen/PowerPC/reduce_scalarization02.ll @@ -8,7 +8,7 @@ ; Test reduce scalarization in fpext v2f32 to v2f64 from the extract_subvector v4f32 node. -define dso_local void @test(<4 x float>* nocapture readonly %a, <2 x double>* nocapture %b, <2 x double>* nocapture %c) { +define dso_local void @test(ptr nocapture readonly %a, ptr nocapture %b, ptr nocapture %c) { ; CHECK-LABEL: test: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv vs0, 0(r3) @@ -31,19 +31,19 @@ define dso_local void @test(<4 x float>* nocapture readonly %a, <2 x double>* no ; CHECK-BE-NEXT: stxv vs0, 0(r5) ; CHECK-BE-NEXT: blr entry: - %0 = load <4 x float>, <4 x float>* %a, align 16 + %0 = load <4 x float>, ptr %a, align 16 %shuffle = shufflevector <4 x float> %0, <4 x float> undef, <2 x i32> %shuffle1 = shufflevector <4 x float> %0, <4 x float> undef, <2 x i32> %vecinit4 = fpext <2 x float> %shuffle to <2 x double> %vecinit11 = fpext <2 x float> %shuffle1 to <2 x double> - store <2 x double> %vecinit4, <2 x double>* %b, align 16 - store <2 x double> %vecinit11, <2 x double>* %c, align 16 + store <2 x double> %vecinit4, ptr %b, align 16 + store <2 x double> %vecinit11, ptr %c, align 16 ret void } ; Ensure we don't crash for wider types -define dso_local void @test2(<16 x float>* nocapture readonly %a, <2 x double>* nocapture %b, <2 x double>* nocapture %c) { +define dso_local void @test2(ptr nocapture readonly %a, ptr nocapture %b, ptr nocapture %c) { ; CHECK-LABEL: test2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv vs0, 0(r3) @@ -66,12 +66,12 @@ define dso_local void @test2(<16 x float>* nocapture readonly %a, <2 x double>* ; CHECK-BE-NEXT: stxv vs0, 0(r5) ; CHECK-BE-NEXT: blr entry: - %0 = load <16 x float>, <16 x float>* %a, align 16 + %0 = load <16 x float>, ptr %a, align 16 %shuffle = shufflevector <16 x float> %0, <16 x float> undef, <2 x i32> %shuffle1 = shufflevector <16 x float> %0, <16 x float> undef, <2 x i32> %vecinit4 = fpext <2 x float> %shuffle to <2 x double> %vecinit11 = fpext <2 x float> %shuffle1 to <2 x double> - store <2 x double> %vecinit4, <2 x double>* %b, align 16 - store <2 x double> %vecinit11, <2 x double>* %c, align 16 + store <2 x double> %vecinit4, ptr %b, align 16 + store <2 x double> %vecinit11, ptr %c, align 16 ret void } diff --git a/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll b/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll index f6506b3..376655b 100644 --- a/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll +++ b/llvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll @@ -12,9 +12,9 @@ %"class.G" = type { [2 x i32] } %"class.H" = type { %"struct.A" } %"struct.A" = type { %"struct.B" } -%"struct.B" = type { i32*, i32*, i32* } +%"struct.B" = type { ptr, ptr, ptr } -define dso_local i1 @t(%class.A* %this, i32 %color, i32 %vertex) local_unnamed_addr { +define dso_local i1 @t(ptr %this, i32 %color, i32 %vertex) local_unnamed_addr { ; CHECK-P9-LABEL: t: ; CHECK-P9: # %bb.0: # %entry ; CHECK-P9-NEXT: li r5, 1 @@ -48,8 +48,8 @@ lor.lhs.false: ; preds = %entry br i1 %or.cond, label %cleanup16, label %for.inc for.inc: ; preds = %lor.lhs.false, %land.lhs.true - %arrayidx.i31.1 = getelementptr inbounds %class.A, %class.A* %this, i64 0, i32 8, i32 0, i64 undef - %0 = load i16, i16* %arrayidx.i31.1, align 2 + %arrayidx.i31.1 = getelementptr inbounds %class.A, ptr %this, i64 0, i32 8, i32 0, i64 undef + %0 = load i16, ptr %arrayidx.i31.1, align 2 %cmp8.1 = icmp ult i16 %0, 2 br i1 %cmp8.1, label %land.lhs.true.1, label %lor.lhs.false.1 diff --git a/llvm/test/CodeGen/PowerPC/reg-coalesce-simple.ll b/llvm/test/CodeGen/PowerPC/reg-coalesce-simple.ll index 06af1c6..2e810bf 100644 --- a/llvm/test/CodeGen/PowerPC/reg-coalesce-simple.ll +++ b/llvm/test/CodeGen/PowerPC/reg-coalesce-simple.ll @@ -2,9 +2,9 @@ %struct.foo = type { i32, i32, [0 x i8] } -define i32 @test(%struct.foo* %X) nounwind { - %tmp1 = getelementptr %struct.foo, %struct.foo* %X, i32 0, i32 2, i32 100 ; [#uses=1] - %tmp = load i8, i8* %tmp1 ; [#uses=1] +define i32 @test(ptr %X) nounwind { + %tmp1 = getelementptr %struct.foo, ptr %X, i32 0, i32 2, i32 100 ; [#uses=1] + %tmp = load i8, ptr %tmp1 ; [#uses=1] %tmp2 = zext i8 %tmp to i32 ; [#uses=1] ret i32 %tmp2 } diff --git a/llvm/test/CodeGen/PowerPC/register-pressure-reduction.ll b/llvm/test/CodeGen/PowerPC/register-pressure-reduction.ll index e26e377..87f6ffa 100644 --- a/llvm/test/CodeGen/PowerPC/register-pressure-reduction.ll +++ b/llvm/test/CodeGen/PowerPC/register-pressure-reduction.ll @@ -130,6 +130,6 @@ define float @foo_float_reuse_const(float %0, float %1, float %2, float %3) { %7 = fmul contract reassoc nsz float %6, 0x3DB2533FE0000000 %8 = fadd contract reassoc nsz float %7, %5 %9 = fmul contract reassoc nsz float %1, 0xBDB2533FE0000000 - store float %9, float* @global_val, align 4 + store float %9, ptr @global_val, align 4 ret float %8 } diff --git a/llvm/test/CodeGen/PowerPC/reloc-align.ll b/llvm/test/CodeGen/PowerPC/reloc-align.ll index 929d2bf..1640e3d 100644 --- a/llvm/test/CodeGen/PowerPC/reloc-align.ll +++ b/llvm/test/CodeGen/PowerPC/reloc-align.ll @@ -15,16 +15,15 @@ target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind readonly define signext i32 @main() #0 { entry: - %call = tail call fastcc signext i32 @func_90(%struct.S1* byval(%struct.S1) bitcast ({ i8, i8, i8, i8, i8, i8, i8, i8 }* @main.l_1554 to %struct.S1*)) + %call = tail call fastcc signext i32 @func_90(ptr byval(%struct.S1) @main.l_1554) ; CHECK-NOT: ld {{[0-9]+}}, main.l_1554@toc@l ret i32 %call } ; Function Attrs: nounwind readonly -define internal fastcc signext i32 @func_90(%struct.S1* byval(%struct.S1) nocapture %p_91) #0 { +define internal fastcc signext i32 @func_90(ptr byval(%struct.S1) nocapture %p_91) #0 { entry: - %0 = bitcast %struct.S1* %p_91 to i64* - %bf.load = load i64, i64* %0, align 1 + %bf.load = load i64, ptr %p_91, align 1 %bf.shl = shl i64 %bf.load, 26 %bf.ashr = ashr i64 %bf.shl, 54 %bf.cast = trunc i64 %bf.ashr to i32 diff --git a/llvm/test/CodeGen/PowerPC/remat-imm.ll b/llvm/test/CodeGen/PowerPC/remat-imm.ll index 91275a6..66cb34a 100644 --- a/llvm/test/CodeGen/PowerPC/remat-imm.ll +++ b/llvm/test/CodeGen/PowerPC/remat-imm.ll @@ -9,8 +9,8 @@ define i32 @main() nounwind { entry: ; CHECK: li 4, 128 ; CHECK-NOT: mr 4, {{.*}} - %call = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), i32 128, i32 128) nounwind + %call = tail call i32 (ptr, ...) @printf(ptr @.str, i32 128, i32 128) nounwind ret i32 0 } -declare i32 @printf(i8* nocapture, ...) nounwind +declare i32 @printf(ptr nocapture, ...) nounwind diff --git a/llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll b/llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll index 423c61d..82a50d6 100644 --- a/llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll +++ b/llvm/test/CodeGen/PowerPC/rematerializable-instruction-machine-licm.ll @@ -3,7 +3,7 @@ target datalayout = "e-m:e-i64:64-n32:64" target triple = "powerpc64le-unknown-linux-gnu" -define zeroext i32 @test1(i64 %0, i64* %1) { +define zeroext i32 @test1(i64 %0, ptr %1) { ; CHECK-LABEL: test1: ; CHECK: # %bb.0: ; CHECK-NEXT: stdu 1, -720(1) @@ -433,23 +433,23 @@ define zeroext i32 @test1(i64 %0, i64* %1) { ; CHECK-NEXT: ld 14, 576(1) # 8-byte Folded Reload ; CHECK-NEXT: addi 1, 1, 720 ; CHECK-NEXT: blr - %3 = getelementptr inbounds i64, i64* %1, i64 144115188075855 - %4 = getelementptr i64, i64* %1, i64 144115586875855 - %5 = getelementptr i64, i64* %1, i64 144115587175855 - %6 = getelementptr i64, i64* %1, i64 144115587075855 - %7 = getelementptr i64, i64* %1, i64 144115586975855 - %8 = getelementptr i64, i64* %1, i64 144115587275855 - %9 = getelementptr i64, i64* %1, i64 144115587575855 - %10 = getelementptr i64, i64* %1, i64 144115587475855 - %11 = getelementptr i64, i64* %1, i64 144115587375855 - %12 = getelementptr i64, i64* %1, i64 144115587675855 - %13 = getelementptr i64, i64* %1, i64 144115587975855 - %14 = getelementptr i64, i64* %1, i64 144115587875855 - %15 = getelementptr i64, i64* %1, i64 144115587775855 - %16 = getelementptr i64, i64* %1, i64 144115588075855 - %17 = getelementptr i64, i64* %1, i64 144115588375855 - %18 = getelementptr i64, i64* %1, i64 144115588275855 - %19 = getelementptr i64, i64* %1, i64 144115588175855 + %3 = getelementptr inbounds i64, ptr %1, i64 144115188075855 + %4 = getelementptr i64, ptr %1, i64 144115586875855 + %5 = getelementptr i64, ptr %1, i64 144115587175855 + %6 = getelementptr i64, ptr %1, i64 144115587075855 + %7 = getelementptr i64, ptr %1, i64 144115586975855 + %8 = getelementptr i64, ptr %1, i64 144115587275855 + %9 = getelementptr i64, ptr %1, i64 144115587575855 + %10 = getelementptr i64, ptr %1, i64 144115587475855 + %11 = getelementptr i64, ptr %1, i64 144115587375855 + %12 = getelementptr i64, ptr %1, i64 144115587675855 + %13 = getelementptr i64, ptr %1, i64 144115587975855 + %14 = getelementptr i64, ptr %1, i64 144115587875855 + %15 = getelementptr i64, ptr %1, i64 144115587775855 + %16 = getelementptr i64, ptr %1, i64 144115588075855 + %17 = getelementptr i64, ptr %1, i64 144115588375855 + %18 = getelementptr i64, ptr %1, i64 144115588275855 + %19 = getelementptr i64, ptr %1, i64 144115588175855 br label %20 20: ; preds = %2, %109 @@ -459,157 +459,157 @@ define zeroext i32 @test1(i64 %0, i64* %1) { 22: ; preds = %22, %20 %23 = phi i64 [ 0, %20 ], [ %107, %22 ] %24 = mul i64 %23, 400000 - %25 = getelementptr i64, i64* %3, i64 %24 + %25 = getelementptr i64, ptr %3, i64 %24 %26 = or i64 %23, 1 %27 = mul i64 %26, 400000 - %28 = getelementptr i64, i64* %3, i64 %27 + %28 = getelementptr i64, ptr %3, i64 %27 %29 = or i64 %23, 2 %30 = mul i64 %29, 400000 - %31 = getelementptr i64, i64* %3, i64 %30 + %31 = getelementptr i64, ptr %3, i64 %30 %32 = or i64 %23, 3 %33 = mul i64 %32, 400000 - %34 = getelementptr i64, i64* %3, i64 %33 + %34 = getelementptr i64, ptr %3, i64 %33 %35 = mul i64 %23, 400000 %36 = add i64 %35, 1600000 - %37 = getelementptr i64, i64* %3, i64 %36 + %37 = getelementptr i64, ptr %3, i64 %36 %38 = mul i64 %23, 400000 %39 = add i64 %38, 2000000 - %40 = getelementptr i64, i64* %3, i64 %39 + %40 = getelementptr i64, ptr %3, i64 %39 %41 = mul i64 %23, 400000 %42 = add i64 %41, 2400000 - %43 = getelementptr i64, i64* %3, i64 %42 + %43 = getelementptr i64, ptr %3, i64 %42 %44 = mul i64 %23, 400000 %45 = add i64 %44, 2800000 - %46 = getelementptr i64, i64* %3, i64 %45 + %46 = getelementptr i64, ptr %3, i64 %45 %47 = mul i64 %23, 400000 %48 = add i64 %47, 3200000 - %49 = getelementptr i64, i64* %3, i64 %48 + %49 = getelementptr i64, ptr %3, i64 %48 %50 = mul i64 %23, 400000 %51 = add i64 %50, 3600000 - %52 = getelementptr i64, i64* %3, i64 %51 + %52 = getelementptr i64, ptr %3, i64 %51 %53 = mul i64 %23, 400000 %54 = add i64 %53, 4000000 - %55 = getelementptr i64, i64* %3, i64 %54 + %55 = getelementptr i64, ptr %3, i64 %54 %56 = mul i64 %23, 400000 %57 = add i64 %56, 4400000 - %58 = getelementptr i64, i64* %3, i64 %57 - %59 = getelementptr inbounds i64, i64* %25, i64 400000 - %60 = getelementptr inbounds i64, i64* %28, i64 400000 - %61 = getelementptr inbounds i64, i64* %31, i64 400000 - %62 = getelementptr inbounds i64, i64* %34, i64 400000 - %63 = getelementptr inbounds i64, i64* %37, i64 400000 - %64 = getelementptr inbounds i64, i64* %40, i64 400000 - %65 = getelementptr inbounds i64, i64* %43, i64 400000 - %66 = getelementptr inbounds i64, i64* %46, i64 400000 - %67 = getelementptr inbounds i64, i64* %49, i64 400000 - %68 = getelementptr inbounds i64, i64* %52, i64 400000 - %69 = getelementptr inbounds i64, i64* %55, i64 400000 - %70 = getelementptr inbounds i64, i64* %58, i64 400000 - store i64 %0, i64* %59, align 8 - store i64 %0, i64* %60, align 8 - store i64 %0, i64* %61, align 8 - store i64 %0, i64* %62, align 8 - store i64 %0, i64* %63, align 8 - store i64 %0, i64* %64, align 8 - store i64 %0, i64* %65, align 8 - store i64 %0, i64* %66, align 8 - store i64 %0, i64* %67, align 8 - store i64 %0, i64* %68, align 8 - store i64 %0, i64* %69, align 8 - store i64 %0, i64* %70, align 8 - %71 = getelementptr inbounds i64, i64* %25, i64 700000 - %72 = getelementptr inbounds i64, i64* %28, i64 700000 - %73 = getelementptr inbounds i64, i64* %31, i64 700000 - %74 = getelementptr inbounds i64, i64* %34, i64 700000 - %75 = getelementptr inbounds i64, i64* %37, i64 700000 - %76 = getelementptr inbounds i64, i64* %40, i64 700000 - %77 = getelementptr inbounds i64, i64* %43, i64 700000 - %78 = getelementptr inbounds i64, i64* %46, i64 700000 - %79 = getelementptr inbounds i64, i64* %49, i64 700000 - %80 = getelementptr inbounds i64, i64* %52, i64 700000 - %81 = getelementptr inbounds i64, i64* %55, i64 700000 - %82 = getelementptr inbounds i64, i64* %58, i64 700000 - store i64 %0, i64* %71, align 8 - store i64 %0, i64* %72, align 8 - store i64 %0, i64* %73, align 8 - store i64 %0, i64* %74, align 8 - store i64 %0, i64* %75, align 8 - store i64 %0, i64* %76, align 8 - store i64 %0, i64* %77, align 8 - store i64 %0, i64* %78, align 8 - store i64 %0, i64* %79, align 8 - store i64 %0, i64* %80, align 8 - store i64 %0, i64* %81, align 8 - store i64 %0, i64* %82, align 8 - %83 = getelementptr inbounds i64, i64* %25, i64 600000 - %84 = getelementptr inbounds i64, i64* %28, i64 600000 - %85 = getelementptr inbounds i64, i64* %31, i64 600000 - %86 = getelementptr inbounds i64, i64* %34, i64 600000 - %87 = getelementptr inbounds i64, i64* %37, i64 600000 - %88 = getelementptr inbounds i64, i64* %40, i64 600000 - %89 = getelementptr inbounds i64, i64* %43, i64 600000 - %90 = getelementptr inbounds i64, i64* %46, i64 600000 - %91 = getelementptr inbounds i64, i64* %49, i64 600000 - %92 = getelementptr inbounds i64, i64* %52, i64 600000 - %93 = getelementptr inbounds i64, i64* %55, i64 600000 - %94 = getelementptr inbounds i64, i64* %58, i64 600000 - store i64 %0, i64* %83, align 8 - store i64 %0, i64* %84, align 8 - store i64 %0, i64* %85, align 8 - store i64 %0, i64* %86, align 8 - store i64 %0, i64* %87, align 8 - store i64 %0, i64* %88, align 8 - store i64 %0, i64* %89, align 8 - store i64 %0, i64* %90, align 8 - store i64 %0, i64* %91, align 8 - store i64 %0, i64* %92, align 8 - store i64 %0, i64* %93, align 8 - store i64 %0, i64* %94, align 8 - %95 = getelementptr inbounds i64, i64* %25, i64 500000 - %96 = getelementptr inbounds i64, i64* %28, i64 500000 - %97 = getelementptr inbounds i64, i64* %31, i64 500000 - %98 = getelementptr inbounds i64, i64* %34, i64 500000 - %99 = getelementptr inbounds i64, i64* %37, i64 500000 - %100 = getelementptr inbounds i64, i64* %40, i64 500000 - %101 = getelementptr inbounds i64, i64* %43, i64 500000 - %102 = getelementptr inbounds i64, i64* %46, i64 500000 - %103 = getelementptr inbounds i64, i64* %49, i64 500000 - %104 = getelementptr inbounds i64, i64* %52, i64 500000 - %105 = getelementptr inbounds i64, i64* %55, i64 500000 - %106 = getelementptr inbounds i64, i64* %58, i64 500000 - store i64 %0, i64* %95, align 8 - store i64 %0, i64* %96, align 8 - store i64 %0, i64* %97, align 8 - store i64 %0, i64* %98, align 8 - store i64 %0, i64* %99, align 8 - store i64 %0, i64* %100, align 8 - store i64 %0, i64* %101, align 8 - store i64 %0, i64* %102, align 8 - store i64 %0, i64* %103, align 8 - store i64 %0, i64* %104, align 8 - store i64 %0, i64* %105, align 8 - store i64 %0, i64* %106, align 8 + %58 = getelementptr i64, ptr %3, i64 %57 + %59 = getelementptr inbounds i64, ptr %25, i64 400000 + %60 = getelementptr inbounds i64, ptr %28, i64 400000 + %61 = getelementptr inbounds i64, ptr %31, i64 400000 + %62 = getelementptr inbounds i64, ptr %34, i64 400000 + %63 = getelementptr inbounds i64, ptr %37, i64 400000 + %64 = getelementptr inbounds i64, ptr %40, i64 400000 + %65 = getelementptr inbounds i64, ptr %43, i64 400000 + %66 = getelementptr inbounds i64, ptr %46, i64 400000 + %67 = getelementptr inbounds i64, ptr %49, i64 400000 + %68 = getelementptr inbounds i64, ptr %52, i64 400000 + %69 = getelementptr inbounds i64, ptr %55, i64 400000 + %70 = getelementptr inbounds i64, ptr %58, i64 400000 + store i64 %0, ptr %59, align 8 + store i64 %0, ptr %60, align 8 + store i64 %0, ptr %61, align 8 + store i64 %0, ptr %62, align 8 + store i64 %0, ptr %63, align 8 + store i64 %0, ptr %64, align 8 + store i64 %0, ptr %65, align 8 + store i64 %0, ptr %66, align 8 + store i64 %0, ptr %67, align 8 + store i64 %0, ptr %68, align 8 + store i64 %0, ptr %69, align 8 + store i64 %0, ptr %70, align 8 + %71 = getelementptr inbounds i64, ptr %25, i64 700000 + %72 = getelementptr inbounds i64, ptr %28, i64 700000 + %73 = getelementptr inbounds i64, ptr %31, i64 700000 + %74 = getelementptr inbounds i64, ptr %34, i64 700000 + %75 = getelementptr inbounds i64, ptr %37, i64 700000 + %76 = getelementptr inbounds i64, ptr %40, i64 700000 + %77 = getelementptr inbounds i64, ptr %43, i64 700000 + %78 = getelementptr inbounds i64, ptr %46, i64 700000 + %79 = getelementptr inbounds i64, ptr %49, i64 700000 + %80 = getelementptr inbounds i64, ptr %52, i64 700000 + %81 = getelementptr inbounds i64, ptr %55, i64 700000 + %82 = getelementptr inbounds i64, ptr %58, i64 700000 + store i64 %0, ptr %71, align 8 + store i64 %0, ptr %72, align 8 + store i64 %0, ptr %73, align 8 + store i64 %0, ptr %74, align 8 + store i64 %0, ptr %75, align 8 + store i64 %0, ptr %76, align 8 + store i64 %0, ptr %77, align 8 + store i64 %0, ptr %78, align 8 + store i64 %0, ptr %79, align 8 + store i64 %0, ptr %80, align 8 + store i64 %0, ptr %81, align 8 + store i64 %0, ptr %82, align 8 + %83 = getelementptr inbounds i64, ptr %25, i64 600000 + %84 = getelementptr inbounds i64, ptr %28, i64 600000 + %85 = getelementptr inbounds i64, ptr %31, i64 600000 + %86 = getelementptr inbounds i64, ptr %34, i64 600000 + %87 = getelementptr inbounds i64, ptr %37, i64 600000 + %88 = getelementptr inbounds i64, ptr %40, i64 600000 + %89 = getelementptr inbounds i64, ptr %43, i64 600000 + %90 = getelementptr inbounds i64, ptr %46, i64 600000 + %91 = getelementptr inbounds i64, ptr %49, i64 600000 + %92 = getelementptr inbounds i64, ptr %52, i64 600000 + %93 = getelementptr inbounds i64, ptr %55, i64 600000 + %94 = getelementptr inbounds i64, ptr %58, i64 600000 + store i64 %0, ptr %83, align 8 + store i64 %0, ptr %84, align 8 + store i64 %0, ptr %85, align 8 + store i64 %0, ptr %86, align 8 + store i64 %0, ptr %87, align 8 + store i64 %0, ptr %88, align 8 + store i64 %0, ptr %89, align 8 + store i64 %0, ptr %90, align 8 + store i64 %0, ptr %91, align 8 + store i64 %0, ptr %92, align 8 + store i64 %0, ptr %93, align 8 + store i64 %0, ptr %94, align 8 + %95 = getelementptr inbounds i64, ptr %25, i64 500000 + %96 = getelementptr inbounds i64, ptr %28, i64 500000 + %97 = getelementptr inbounds i64, ptr %31, i64 500000 + %98 = getelementptr inbounds i64, ptr %34, i64 500000 + %99 = getelementptr inbounds i64, ptr %37, i64 500000 + %100 = getelementptr inbounds i64, ptr %40, i64 500000 + %101 = getelementptr inbounds i64, ptr %43, i64 500000 + %102 = getelementptr inbounds i64, ptr %46, i64 500000 + %103 = getelementptr inbounds i64, ptr %49, i64 500000 + %104 = getelementptr inbounds i64, ptr %52, i64 500000 + %105 = getelementptr inbounds i64, ptr %55, i64 500000 + %106 = getelementptr inbounds i64, ptr %58, i64 500000 + store i64 %0, ptr %95, align 8 + store i64 %0, ptr %96, align 8 + store i64 %0, ptr %97, align 8 + store i64 %0, ptr %98, align 8 + store i64 %0, ptr %99, align 8 + store i64 %0, ptr %100, align 8 + store i64 %0, ptr %101, align 8 + store i64 %0, ptr %102, align 8 + store i64 %0, ptr %103, align 8 + store i64 %0, ptr %104, align 8 + store i64 %0, ptr %105, align 8 + store i64 %0, ptr %106, align 8 %107 = add i64 %23, 12 %108 = icmp eq i64 %107, 996 br i1 %108, label %109, label %22 109: ; preds = %22 - store i64 %0, i64* %4, align 8 - store i64 %0, i64* %5, align 8 - store i64 %0, i64* %6, align 8 - store i64 %0, i64* %7, align 8 - store i64 %0, i64* %8, align 8 - store i64 %0, i64* %9, align 8 - store i64 %0, i64* %10, align 8 - store i64 %0, i64* %11, align 8 - store i64 %0, i64* %12, align 8 - store i64 %0, i64* %13, align 8 - store i64 %0, i64* %14, align 8 - store i64 %0, i64* %15, align 8 - store i64 %0, i64* %16, align 8 - store i64 %0, i64* %17, align 8 - store i64 %0, i64* %18, align 8 - store i64 %0, i64* %19, align 8 + store i64 %0, ptr %4, align 8 + store i64 %0, ptr %5, align 8 + store i64 %0, ptr %6, align 8 + store i64 %0, ptr %7, align 8 + store i64 %0, ptr %8, align 8 + store i64 %0, ptr %9, align 8 + store i64 %0, ptr %10, align 8 + store i64 %0, ptr %11, align 8 + store i64 %0, ptr %12, align 8 + store i64 %0, ptr %13, align 8 + store i64 %0, ptr %14, align 8 + store i64 %0, ptr %15, align 8 + store i64 %0, ptr %16, align 8 + store i64 %0, ptr %17, align 8 + store i64 %0, ptr %18, align 8 + store i64 %0, ptr %19, align 8 %110 = add nuw nsw i32 %21, 1 %111 = icmp eq i32 %110, 400000 br i1 %111, label %112, label %20 diff --git a/llvm/test/CodeGen/PowerPC/remove-redundant-load-imm.ll b/llvm/test/CodeGen/PowerPC/remove-redundant-load-imm.ll index ebe2d2f..7ac1540 100644 --- a/llvm/test/CodeGen/PowerPC/remove-redundant-load-imm.ll +++ b/llvm/test/CodeGen/PowerPC/remove-redundant-load-imm.ll @@ -4,10 +4,10 @@ target datalayout = "e-m:e-i64:64-n32:64" target triple = "powerpc64le-unknown-linux-gnu" -@global.6 = external global i32* +@global.6 = external global ptr -declare void @barney.88(i1, i32*) -declare void @barney.94(i8*, i32) +declare void @barney.88(i1, ptr) +declare void @barney.94(ptr, i32) define void @redundancy_on_ppc_only(i1 %arg7) nounwind { ; PPC64LE-LABEL: redundancy_on_ppc_only: @@ -29,7 +29,7 @@ bb: br label %bb10 bb10: ; preds = %bb - call void @barney.88(i1 %arg7, i32* null) + call void @barney.88(i1 %arg7, ptr null) ret void } @@ -45,7 +45,7 @@ define void @redundancy_on_ppc_and_other_targets() nounwind { ; PPC64LE-NEXT: std 4, 0(3) ; PPC64LE-NEXT: bl barney.94 ; PPC64LE-NEXT: nop - store i32* null, i32** @global.6 - call void @barney.94(i8* undef, i32 0) + store ptr null, ptr @global.6 + call void @barney.94(ptr undef, i32 0) unreachable } diff --git a/llvm/test/CodeGen/PowerPC/remove-redundant-toc-saves.ll b/llvm/test/CodeGen/PowerPC/remove-redundant-toc-saves.ll index 58c959b..c4a8955 100644 --- a/llvm/test/CodeGen/PowerPC/remove-redundant-toc-saves.ll +++ b/llvm/test/CodeGen/PowerPC/remove-redundant-toc-saves.ll @@ -2,7 +2,7 @@ ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefix=AIX64 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefix=AIX32 -define signext i32 @test1(i32 signext %i, i32 (i32)* nocapture %Func, i32 (i32)* nocapture %Func2) { +define signext i32 @test1(i32 signext %i, ptr nocapture %Func, ptr nocapture %Func2) { entry: ; CHECK-LABEL: test1: ; CHECK: std 2, 24(1) @@ -21,7 +21,7 @@ entry: ret i32 %add2 } -define signext i32 @test2(i32 signext %i, i32 signext %j, i32 (i32)* nocapture %Func, i32 (i32)* nocapture %Func2) { +define signext i32 @test2(i32 signext %i, i32 signext %j, ptr nocapture %Func, ptr nocapture %Func2) { entry: ; CHECK-LABEL: test2: ; CHECK: std 2, 24(1) @@ -53,7 +53,7 @@ if.end: ; preds = %entry, %if.then } ; Check for multiple TOC saves with if then else where neither dominates the other. -define signext i32 @test3(i32 signext %i, i32 (i32)* nocapture %Func, i32 (i32)* nocapture %Func2) { +define signext i32 @test3(i32 signext %i, ptr nocapture %Func, ptr nocapture %Func2) { ; CHECK-LABEL: test3: ; CHECK: std 2, 24(1) ; CHECK-NOT: std 2, 24(1) @@ -82,7 +82,7 @@ if.end: ; preds = %if.else, %if.then ret i32 %add4 } -define signext i32 @test4(i32 signext %i, i32 (i32)* nocapture %Func, i32 (i32)* nocapture %Func2) { +define signext i32 @test4(i32 signext %i, ptr nocapture %Func, ptr nocapture %Func2) { ; CHECK-LABEL: test4: ; CHECK: std 2, 24(1) ; CHECK-NOT: std 2, 24(1) @@ -114,7 +114,7 @@ if.end: ; preds = %if.else, %if.then } ; Check for multiple TOC saves with if then where neither is redundant. -define signext i32 @test5(i32 signext %i, i32 (i32)* nocapture %Func, i32 (i32)* nocapture readnone %Func2) { +define signext i32 @test5(i32 signext %i, ptr nocapture %Func, ptr nocapture readnone %Func2) { entry: ; CHECK-LABEL: test5: ; CHECK: std 2, 24(1) @@ -139,7 +139,7 @@ if.end: ; preds = %entry, %if.then } ; Check for multiple TOC saves if there are dynamic allocations on the stack. -define signext i32 @test6(i32 signext %i, i32 (i32)* nocapture %Func, i32 (i32)* nocapture %Func2) { +define signext i32 @test6(i32 signext %i, ptr nocapture %Func, ptr nocapture %Func2) { entry: ; CHECK-LABEL: test6: ; CHECK: std 2, 24(1) @@ -154,12 +154,11 @@ entry: ; AIX32: stw 2, 20(1) %conv = sext i32 %i to i64 %0 = alloca i8, i64 %conv, align 16 - %1 = bitcast i8* %0 to i32* %call = tail call signext i32 %Func(i32 signext %i) - call void @useAlloca(i32* nonnull %1, i32 signext %call) + call void @useAlloca(ptr nonnull %0, i32 signext %call) %call1 = call signext i32 %Func2(i32 signext %i) %add2 = add nsw i32 %call1, %call ret i32 %add2 } -declare void @useAlloca(i32*, i32 signext) +declare void @useAlloca(ptr, i32 signext) diff --git a/llvm/test/CodeGen/PowerPC/resolvefi-basereg.ll b/llvm/test/CodeGen/PowerPC/resolvefi-basereg.ll index b9029b2..10fba54 100644 --- a/llvm/test/CodeGen/PowerPC/resolvefi-basereg.ll +++ b/llvm/test/CodeGen/PowerPC/resolvefi-basereg.ll @@ -7,8 +7,8 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" -%struct.Info = type { i32, i32, i8*, i8*, i8*, [32 x i8*], i64, [32 x i64], i64, i64, i64, [32 x i64] } -%struct.S1998 = type { [2 x i32*], i64, i64, double, i16, i32, [29 x %struct.anon], i16, i8, i32, [8 x i8] } +%struct.Info = type { i32, i32, ptr, ptr, ptr, [32 x ptr], i64, [32 x i64], i64, i64, i64, [32 x i64] } +%struct.S1998 = type { [2 x ptr], i64, i64, double, i16, i32, [29 x %struct.anon], i16, i8, i32, [8 x i8] } %struct.anon = type { [16 x double], i32, i16, i32, [3 x i8], [6 x i8], [4 x i32], i8 } @info = global %struct.Info zeroinitializer, align 8 @@ -32,331 +32,322 @@ entry: %agg.tmp117 = alloca %struct.S1998, align 16 %agg.tmp118 = alloca %struct.S1998, align 16 %agg.tmp119 = alloca %struct.S1998, align 16 - call void @llvm.memset.p0i8.i64(i8* align 16 bitcast (%struct.S1998* @s1998 to i8*), i8 0, i64 5168, i1 false) - call void @llvm.memset.p0i8.i64(i8* align 16 bitcast ([5 x %struct.S1998]* @a1998 to i8*), i8 0, i64 25840, i1 false) - call void @llvm.memset.p0i8.i64(i8* align 8 bitcast (%struct.Info* @info to i8*), i8 0, i64 832, i1 false) - store i8* bitcast (%struct.S1998* @s1998 to i8*), i8** getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 2), align 8 - store i8* bitcast ([5 x %struct.S1998]* @a1998 to i8*), i8** getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 3), align 8 - store i8* bitcast (%struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 3) to i8*), i8** getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 4), align 8 - store i64 5168, i64* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 6), align 8 - store i64 16, i64* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 8), align 8 - store i64 16, i64* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 9), align 8 - store i64 16, i64* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 10), align 8 - %0 = load i64, i64* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 8), align 8 + call void @llvm.memset.p0.i64(ptr align 16 @s1998, i8 0, i64 5168, i1 false) + call void @llvm.memset.p0.i64(ptr align 16 @a1998, i8 0, i64 25840, i1 false) + call void @llvm.memset.p0.i64(ptr align 8 @info, i8 0, i64 832, i1 false) + store ptr @s1998, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 2), align 8 + store ptr @a1998, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 3), align 8 + store ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 3), ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 4), align 8 + store i64 5168, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 6), align 8 + store i64 16, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 8), align 8 + store i64 16, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 9), align 8 + store i64 16, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 10), align 8 + %0 = load i64, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 8), align 8 %sub = sub i64 %0, 1 - %and = and i64 ptrtoint (%struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 3) to i64), %sub + %and = and i64 ptrtoint (ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 3) to i64), %sub %tobool = icmp ne i64 %and, 0 br i1 %tobool, label %if.then, label %if.end if.then: ; preds = %entry - %1 = load i32, i32* @fails, align 4 + %1 = load i32, ptr @fails, align 4 %inc = add nsw i32 %1, 1 - store i32 %inc, i32* @fails, align 4 + store i32 %inc, ptr @fails, align 4 br label %if.end if.end: ; preds = %if.then, %entry - store i32 0, i32* %i, align 4 - store i32 0, i32* %j, align 4 - %2 = load i32, i32* %i, align 4 + store i32 0, ptr %i, align 4 + store i32 0, ptr %j, align 4 + %2 = load i32, ptr %i, align 4 %idxprom = sext i32 %2 to i64 - %arrayidx = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom - store i8* bitcast (i32** getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 0, i64 1) to i8*), i8** %arrayidx, align 8 - %3 = load i32, i32* %i, align 4 + %arrayidx = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 0, i64 1), ptr %arrayidx, align 8 + %3 = load i32, ptr %i, align 4 %idxprom1 = sext i32 %3 to i64 - %arrayidx2 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom1 - store i64 8, i64* %arrayidx2, align 8 - %4 = load i32, i32* %i, align 4 + %arrayidx2 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom1 + store i64 8, ptr %arrayidx2, align 8 + %4 = load i32, ptr %i, align 4 %idxprom3 = sext i32 %4 to i64 - %arrayidx4 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom3 - store i64 8, i64* %arrayidx4, align 8 - store i32* getelementptr inbounds ([256 x i32], [256 x i32]* @intarray, i32 0, i64 190), i32** getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 0, i64 1), align 8 - store i32* getelementptr inbounds ([256 x i32], [256 x i32]* @intarray, i32 0, i64 241), i32** getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 0, i64 1), align 8 - %5 = load i32, i32* %i, align 4 + %arrayidx4 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom3 + store i64 8, ptr %arrayidx4, align 8 + store ptr getelementptr inbounds ([256 x i32], ptr @intarray, i32 0, i64 190), ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 0, i64 1), align 8 + store ptr getelementptr inbounds ([256 x i32], ptr @intarray, i32 0, i64 241), ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 0, i64 1), align 8 + %5 = load i32, ptr %i, align 4 %inc5 = add nsw i32 %5, 1 - store i32 %inc5, i32* %i, align 4 - %6 = load i32, i32* %i, align 4 + store i32 %inc5, ptr %i, align 4 + %6 = load i32, ptr %i, align 4 %idxprom6 = sext i32 %6 to i64 - %arrayidx7 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom6 - store i8* bitcast (i64* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 1) to i8*), i8** %arrayidx7, align 8 - %7 = load i32, i32* %i, align 4 + %arrayidx7 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom6 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 1), ptr %arrayidx7, align 8 + %7 = load i32, ptr %i, align 4 %idxprom8 = sext i32 %7 to i64 - %arrayidx9 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom8 - store i64 8, i64* %arrayidx9, align 8 - %8 = load i32, i32* %i, align 4 + %arrayidx9 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom8 + store i64 8, ptr %arrayidx9, align 8 + %8 = load i32, ptr %i, align 4 %idxprom10 = sext i32 %8 to i64 - %arrayidx11 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom10 - store i64 8, i64* %arrayidx11, align 8 - store i64 -3866974208859106459, i64* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 1), align 8 - store i64 -185376695371304091, i64* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 1), align 8 - %9 = load i32, i32* %i, align 4 + %arrayidx11 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom10 + store i64 8, ptr %arrayidx11, align 8 + store i64 -3866974208859106459, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 1), align 8 + store i64 -185376695371304091, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 1), align 8 + %9 = load i32, ptr %i, align 4 %inc12 = add nsw i32 %9, 1 - store i32 %inc12, i32* %i, align 4 - %10 = load i32, i32* %i, align 4 + store i32 %inc12, ptr %i, align 4 + %10 = load i32, ptr %i, align 4 %idxprom13 = sext i32 %10 to i64 - %arrayidx14 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom13 - store i8* bitcast (i64* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 2) to i8*), i8** %arrayidx14, align 8 - %11 = load i32, i32* %i, align 4 + %arrayidx14 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom13 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 2), ptr %arrayidx14, align 8 + %11 = load i32, ptr %i, align 4 %idxprom15 = sext i32 %11 to i64 - %arrayidx16 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom15 - store i64 8, i64* %arrayidx16, align 8 - %12 = load i32, i32* %i, align 4 + %arrayidx16 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom15 + store i64 8, ptr %arrayidx16, align 8 + %12 = load i32, ptr %i, align 4 %idxprom17 = sext i32 %12 to i64 - %arrayidx18 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom17 - store i64 8, i64* %arrayidx18, align 8 - store i64 -963638028680427187, i64* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 2), align 8 - store i64 7510542175772455554, i64* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 2), align 8 - %13 = load i32, i32* %i, align 4 + %arrayidx18 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom17 + store i64 8, ptr %arrayidx18, align 8 + store i64 -963638028680427187, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 2), align 8 + store i64 7510542175772455554, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 2), align 8 + %13 = load i32, ptr %i, align 4 %inc19 = add nsw i32 %13, 1 - store i32 %inc19, i32* %i, align 4 - %14 = load i32, i32* %i, align 4 + store i32 %inc19, ptr %i, align 4 + %14 = load i32, ptr %i, align 4 %idxprom20 = sext i32 %14 to i64 - %arrayidx21 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom20 - store i8* bitcast (double* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 3) to i8*), i8** %arrayidx21, align 8 - %15 = load i32, i32* %i, align 4 + %arrayidx21 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom20 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 3), ptr %arrayidx21, align 8 + %15 = load i32, ptr %i, align 4 %idxprom22 = sext i32 %15 to i64 - %arrayidx23 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom22 - store i64 8, i64* %arrayidx23, align 8 - %16 = load i32, i32* %i, align 4 + %arrayidx23 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom22 + store i64 8, ptr %arrayidx23, align 8 + %16 = load i32, ptr %i, align 4 %idxprom24 = sext i32 %16 to i64 - %arrayidx25 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom24 - store i64 16, i64* %arrayidx25, align 8 - store double 0xC0F8783300000000, double* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 3), align 16 - store double 0xC10DF3CCC0000000, double* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 3), align 16 - %17 = load i32, i32* %i, align 4 + %arrayidx25 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom24 + store i64 16, ptr %arrayidx25, align 8 + store double 0xC0F8783300000000, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 3), align 16 + store double 0xC10DF3CCC0000000, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 3), align 16 + %17 = load i32, ptr %i, align 4 %inc26 = add nsw i32 %17, 1 - store i32 %inc26, i32* %i, align 4 - %18 = load i32, i32* %i, align 4 + store i32 %inc26, ptr %i, align 4 + %18 = load i32, ptr %i, align 4 %idxprom27 = sext i32 %18 to i64 - %arrayidx28 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom27 - store i8* bitcast (i16* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 4) to i8*), i8** %arrayidx28, align 8 - %19 = load i32, i32* %i, align 4 + %arrayidx28 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom27 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 4), ptr %arrayidx28, align 8 + %19 = load i32, ptr %i, align 4 %idxprom29 = sext i32 %19 to i64 - %arrayidx30 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom29 - store i64 2, i64* %arrayidx30, align 8 - %20 = load i32, i32* %i, align 4 + %arrayidx30 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom29 + store i64 2, ptr %arrayidx30, align 8 + %20 = load i32, ptr %i, align 4 %idxprom31 = sext i32 %20 to i64 - %arrayidx32 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom31 - store i64 2, i64* %arrayidx32, align 8 - store i16 -15897, i16* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 4), align 2 - store i16 30935, i16* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 4), align 2 - %21 = load i32, i32* %i, align 4 + %arrayidx32 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom31 + store i64 2, ptr %arrayidx32, align 8 + store i16 -15897, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 4), align 2 + store i16 30935, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 4), align 2 + %21 = load i32, ptr %i, align 4 %inc33 = add nsw i32 %21, 1 - store i32 %inc33, i32* %i, align 4 - store i32 -419541644, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 5), align 4 - store i32 2125926812, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 5), align 4 - %22 = load i32, i32* %j, align 4 + store i32 %inc33, ptr %i, align 4 + store i32 -419541644, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 5), align 4 + store i32 2125926812, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 5), align 4 + %22 = load i32, ptr %j, align 4 %inc34 = add nsw i32 %22, 1 - store i32 %inc34, i32* %j, align 4 - %23 = load i32, i32* %i, align 4 + store i32 %inc34, ptr %j, align 4 + %23 = load i32, ptr %i, align 4 %idxprom35 = sext i32 %23 to i64 - %arrayidx36 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom35 - store i8* bitcast (double* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 0, i64 0) to i8*), i8** %arrayidx36, align 8 - %24 = load i32, i32* %i, align 4 + %arrayidx36 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom35 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 0, i64 0), ptr %arrayidx36, align 8 + %24 = load i32, ptr %i, align 4 %idxprom37 = sext i32 %24 to i64 - %arrayidx38 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom37 - store i64 8, i64* %arrayidx38, align 8 - %25 = load i32, i32* %i, align 4 + %arrayidx38 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom37 + store i64 8, ptr %arrayidx38, align 8 + %25 = load i32, ptr %i, align 4 %idxprom39 = sext i32 %25 to i64 - %arrayidx40 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom39 - store i64 8, i64* %arrayidx40, align 8 - store double 0xC0FC765780000000, double* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 0, i64 0), align 8 - store double 0xC1025CD7A0000000, double* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 0, i64 0), align 8 - %26 = load i32, i32* %i, align 4 + %arrayidx40 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom39 + store i64 8, ptr %arrayidx40, align 8 + store double 0xC0FC765780000000, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 0, i64 0), align 8 + store double 0xC1025CD7A0000000, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 0, i64 0), align 8 + %26 = load i32, ptr %i, align 4 %inc41 = add nsw i32 %26, 1 - store i32 %inc41, i32* %i, align 4 - %bf.load = load i32, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 1), align 8 + store i32 %inc41, ptr %i, align 4 + %bf.load = load i32, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 1), align 8 %bf.clear = and i32 %bf.load, 7 %bf.set = or i32 %bf.clear, 16 - store i32 %bf.set, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 1), align 8 - %bf.load42 = load i32, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 1), align 8 + store i32 %bf.set, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 1), align 8 + %bf.load42 = load i32, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 1), align 8 %bf.clear43 = and i32 %bf.load42, 7 %bf.set44 = or i32 %bf.clear43, 24 - store i32 %bf.set44, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 1), align 8 - %27 = load i32, i32* %j, align 4 + store i32 %bf.set44, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 1), align 8 + %27 = load i32, ptr %j, align 4 %inc45 = add nsw i32 %27, 1 - store i32 %inc45, i32* %j, align 4 - %bf.load46 = load i16, i16* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 2), align 4 + store i32 %inc45, ptr %j, align 4 + %bf.load46 = load i16, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 2), align 4 %bf.clear47 = and i16 %bf.load46, 127 - store i16 %bf.clear47, i16* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 2), align 4 - %bf.load48 = load i16, i16* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 2), align 4 + store i16 %bf.clear47, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 2), align 4 + %bf.load48 = load i16, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 2), align 4 %bf.clear49 = and i16 %bf.load48, 127 - store i16 %bf.clear49, i16* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 2), align 4 - %28 = load i32, i32* %j, align 4 + store i16 %bf.clear49, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 2), align 4 + %28 = load i32, ptr %j, align 4 %inc50 = add nsw i32 %28, 1 - store i32 %inc50, i32* %j, align 4 - %bf.load51 = load i32, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 3), align 8 + store i32 %inc50, ptr %j, align 4 + %bf.load51 = load i32, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 3), align 8 %bf.clear52 = and i32 %bf.load51, 63 - store i32 %bf.clear52, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 3), align 8 - %bf.load53 = load i32, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 3), align 8 + store i32 %bf.clear52, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 3), align 8 + %bf.load53 = load i32, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 3), align 8 %bf.clear54 = and i32 %bf.load53, 63 %bf.set55 = or i32 %bf.clear54, 64 - store i32 %bf.set55, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 3), align 8 - %29 = load i32, i32* %j, align 4 + store i32 %bf.set55, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 3), align 8 + %29 = load i32, ptr %j, align 4 %inc56 = add nsw i32 %29, 1 - store i32 %inc56, i32* %j, align 4 - %bf.load57 = load i24, i24* bitcast ([3 x i8]* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 4) to i24*), align 4 + store i32 %inc56, ptr %j, align 4 + %bf.load57 = load i24, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 4), align 4 %bf.clear58 = and i24 %bf.load57, 63 - store i24 %bf.clear58, i24* bitcast ([3 x i8]* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 4) to i24*), align 4 - %bf.load59 = load i24, i24* bitcast ([3 x i8]* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 4) to i24*), align 4 + store i24 %bf.clear58, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 4), align 4 + %bf.load59 = load i24, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 4), align 4 %bf.clear60 = and i24 %bf.load59, 63 - store i24 %bf.clear60, i24* bitcast ([3 x i8]* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 4) to i24*), align 4 - %30 = load i32, i32* %j, align 4 + store i24 %bf.clear60, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 4), align 4 + %30 = load i32, ptr %j, align 4 %inc61 = add nsw i32 %30, 1 - store i32 %inc61, i32* %j, align 4 - %31 = load i32, i32* %i, align 4 + store i32 %inc61, ptr %j, align 4 + %31 = load i32, ptr %i, align 4 %idxprom62 = sext i32 %31 to i64 - %arrayidx63 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom62 - store i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 5, i64 5), i8** %arrayidx63, align 8 - %32 = load i32, i32* %i, align 4 + %arrayidx63 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom62 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 5, i64 5), ptr %arrayidx63, align 8 + %32 = load i32, ptr %i, align 4 %idxprom64 = sext i32 %32 to i64 - %arrayidx65 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom64 - store i64 1, i64* %arrayidx65, align 8 - %33 = load i32, i32* %i, align 4 + %arrayidx65 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom64 + store i64 1, ptr %arrayidx65, align 8 + %33 = load i32, ptr %i, align 4 %idxprom66 = sext i32 %33 to i64 - %arrayidx67 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom66 - store i64 1, i64* %arrayidx67, align 8 - store i8 -83, i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 5, i64 5), align 1 - store i8 -67, i8* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 5, i64 5), align 1 - %34 = load i32, i32* %i, align 4 + %arrayidx67 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom66 + store i64 1, ptr %arrayidx67, align 8 + store i8 -83, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 5, i64 5), align 1 + store i8 -67, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 5, i64 5), align 1 + %34 = load i32, ptr %i, align 4 %inc68 = add nsw i32 %34, 1 - store i32 %inc68, i32* %i, align 4 - %35 = load i32, i32* %i, align 4 + store i32 %inc68, ptr %i, align 4 + %35 = load i32, ptr %i, align 4 %idxprom69 = sext i32 %35 to i64 - %arrayidx70 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom69 - store i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 5, i64 1), i8** %arrayidx70, align 8 - %36 = load i32, i32* %i, align 4 + %arrayidx70 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom69 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 5, i64 1), ptr %arrayidx70, align 8 + %36 = load i32, ptr %i, align 4 %idxprom71 = sext i32 %36 to i64 - %arrayidx72 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom71 - store i64 1, i64* %arrayidx72, align 8 - %37 = load i32, i32* %i, align 4 + %arrayidx72 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom71 + store i64 1, ptr %arrayidx72, align 8 + %37 = load i32, ptr %i, align 4 %idxprom73 = sext i32 %37 to i64 - %arrayidx74 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom73 - store i64 1, i64* %arrayidx74, align 8 - store i8 34, i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 5, i64 1), align 1 - store i8 64, i8* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 5, i64 1), align 1 - %38 = load i32, i32* %i, align 4 + %arrayidx74 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom73 + store i64 1, ptr %arrayidx74, align 8 + store i8 34, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 5, i64 1), align 1 + store i8 64, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 5, i64 1), align 1 + %38 = load i32, ptr %i, align 4 %inc75 = add nsw i32 %38, 1 - store i32 %inc75, i32* %i, align 4 - %39 = load i32, i32* %i, align 4 + store i32 %inc75, ptr %i, align 4 + %39 = load i32, ptr %i, align 4 %idxprom76 = sext i32 %39 to i64 - %arrayidx77 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom76 - store i8* bitcast (i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 6, i64 3) to i8*), i8** %arrayidx77, align 8 - %40 = load i32, i32* %i, align 4 + %arrayidx77 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom76 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 6, i64 3), ptr %arrayidx77, align 8 + %40 = load i32, ptr %i, align 4 %idxprom78 = sext i32 %40 to i64 - %arrayidx79 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom78 - store i64 4, i64* %arrayidx79, align 8 - %41 = load i32, i32* %i, align 4 + %arrayidx79 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom78 + store i64 4, ptr %arrayidx79, align 8 + %41 = load i32, ptr %i, align 4 %idxprom80 = sext i32 %41 to i64 - %arrayidx81 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom80 - store i64 4, i64* %arrayidx81, align 8 - store i32 -3, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 6, i64 3), align 4 - store i32 -3, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 6, i64 3), align 4 - %42 = load i32, i32* %i, align 4 + %arrayidx81 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom80 + store i64 4, ptr %arrayidx81, align 8 + store i32 -3, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 6, i64 3), align 4 + store i32 -3, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 6, i64 3), align 4 + %42 = load i32, ptr %i, align 4 %inc82 = add nsw i32 %42, 1 - store i32 %inc82, i32* %i, align 4 - %43 = load i32, i32* %i, align 4 + store i32 %inc82, ptr %i, align 4 + %43 = load i32, ptr %i, align 4 %idxprom83 = sext i32 %43 to i64 - %arrayidx84 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom83 - store i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 7), i8** %arrayidx84, align 8 - %44 = load i32, i32* %i, align 4 + %arrayidx84 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom83 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 7), ptr %arrayidx84, align 8 + %44 = load i32, ptr %i, align 4 %idxprom85 = sext i32 %44 to i64 - %arrayidx86 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom85 - store i64 1, i64* %arrayidx86, align 8 - %45 = load i32, i32* %i, align 4 + %arrayidx86 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom85 + store i64 1, ptr %arrayidx86, align 8 + %45 = load i32, ptr %i, align 4 %idxprom87 = sext i32 %45 to i64 - %arrayidx88 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom87 - store i64 1, i64* %arrayidx88, align 8 - store i8 106, i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 6, i64 4, i32 7), align 1 - store i8 -102, i8* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 6, i64 4, i32 7), align 1 - %46 = load i32, i32* %i, align 4 + %arrayidx88 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom87 + store i64 1, ptr %arrayidx88, align 8 + store i8 106, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 6, i64 4, i32 7), align 1 + store i8 -102, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 6, i64 4, i32 7), align 1 + %46 = load i32, ptr %i, align 4 %inc89 = add nsw i32 %46, 1 - store i32 %inc89, i32* %i, align 4 - %47 = load i32, i32* %i, align 4 + store i32 %inc89, ptr %i, align 4 + %47 = load i32, ptr %i, align 4 %idxprom90 = sext i32 %47 to i64 - %arrayidx91 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom90 - store i8* bitcast (i16* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 7) to i8*), i8** %arrayidx91, align 8 - %48 = load i32, i32* %i, align 4 + %arrayidx91 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom90 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 7), ptr %arrayidx91, align 8 + %48 = load i32, ptr %i, align 4 %idxprom92 = sext i32 %48 to i64 - %arrayidx93 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom92 - store i64 2, i64* %arrayidx93, align 8 - %49 = load i32, i32* %i, align 4 + %arrayidx93 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom92 + store i64 2, ptr %arrayidx93, align 8 + %49 = load i32, ptr %i, align 4 %idxprom94 = sext i32 %49 to i64 - %arrayidx95 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom94 - store i64 2, i64* %arrayidx95, align 8 - store i16 29665, i16* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 7), align 2 - store i16 7107, i16* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 7), align 2 - %50 = load i32, i32* %i, align 4 + %arrayidx95 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom94 + store i64 2, ptr %arrayidx95, align 8 + store i16 29665, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 7), align 2 + store i16 7107, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 7), align 2 + %50 = load i32, ptr %i, align 4 %inc96 = add nsw i32 %50, 1 - store i32 %inc96, i32* %i, align 4 - %51 = load i32, i32* %i, align 4 + store i32 %inc96, ptr %i, align 4 + %51 = load i32, ptr %i, align 4 %idxprom97 = sext i32 %51 to i64 - %arrayidx98 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom97 - store i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 8), i8** %arrayidx98, align 8 - %52 = load i32, i32* %i, align 4 + %arrayidx98 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom97 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 8), ptr %arrayidx98, align 8 + %52 = load i32, ptr %i, align 4 %idxprom99 = sext i32 %52 to i64 - %arrayidx100 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom99 - store i64 1, i64* %arrayidx100, align 8 - %53 = load i32, i32* %i, align 4 + %arrayidx100 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom99 + store i64 1, ptr %arrayidx100, align 8 + %53 = load i32, ptr %i, align 4 %idxprom101 = sext i32 %53 to i64 - %arrayidx102 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom101 - store i64 1, i64* %arrayidx102, align 8 - store i8 52, i8* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 8), align 1 - store i8 -86, i8* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 8), align 1 - %54 = load i32, i32* %i, align 4 + %arrayidx102 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom101 + store i64 1, ptr %arrayidx102, align 8 + store i8 52, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 8), align 1 + store i8 -86, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 8), align 1 + %54 = load i32, ptr %i, align 4 %inc103 = add nsw i32 %54, 1 - store i32 %inc103, i32* %i, align 4 - %55 = load i32, i32* %i, align 4 + store i32 %inc103, ptr %i, align 4 + %55 = load i32, ptr %i, align 4 %idxprom104 = sext i32 %55 to i64 - %arrayidx105 = getelementptr inbounds [32 x i8*], [32 x i8*]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 5), i32 0, i64 %idxprom104 - store i8* bitcast (i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 9) to i8*), i8** %arrayidx105, align 8 - %56 = load i32, i32* %i, align 4 + %arrayidx105 = getelementptr inbounds [32 x ptr], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 5), i32 0, i64 %idxprom104 + store ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 9), ptr %arrayidx105, align 8 + %56 = load i32, ptr %i, align 4 %idxprom106 = sext i32 %56 to i64 - %arrayidx107 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 7), i32 0, i64 %idxprom106 - store i64 4, i64* %arrayidx107, align 8 - %57 = load i32, i32* %i, align 4 + %arrayidx107 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 7), i32 0, i64 %idxprom106 + store i64 4, ptr %arrayidx107, align 8 + %57 = load i32, ptr %i, align 4 %idxprom108 = sext i32 %57 to i64 - %arrayidx109 = getelementptr inbounds [32 x i64], [32 x i64]* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 11), i32 0, i64 %idxprom108 - store i64 4, i64* %arrayidx109, align 8 - store i32 -54118453, i32* getelementptr inbounds (%struct.S1998, %struct.S1998* @s1998, i32 0, i32 9), align 4 - store i32 1668755823, i32* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2, i32 9), align 4 - %58 = load i32, i32* %i, align 4 + %arrayidx109 = getelementptr inbounds [32 x i64], ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 11), i32 0, i64 %idxprom108 + store i64 4, ptr %arrayidx109, align 8 + store i32 -54118453, ptr getelementptr inbounds (%struct.S1998, ptr @s1998, i32 0, i32 9), align 4 + store i32 1668755823, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2, i32 9), align 4 + %58 = load i32, ptr %i, align 4 %inc110 = add nsw i32 %58, 1 - store i32 %inc110, i32* %i, align 4 - store i32 %inc110, i32* %tmp - %59 = load i32, i32* %tmp - %60 = load i32, i32* %i, align 4 - store i32 %60, i32* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 0), align 4 - %61 = load i32, i32* %j, align 4 - store i32 %61, i32* getelementptr inbounds (%struct.Info, %struct.Info* @info, i32 0, i32 1), align 4 - %62 = bitcast %struct.S1998* %agg.tmp111 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %62, i8* align 16 bitcast (%struct.S1998* @s1998 to i8*), i64 5168, i1 false) - %63 = bitcast %struct.S1998* %agg.tmp112 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %63, i8* align 16 bitcast (%struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2) to i8*), i64 5168, i1 false) - call void @check1998(%struct.S1998* sret(%struct.S1998) %agg.tmp, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp111, %struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 1), %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp112) - call void @checkx1998(%struct.S1998* byval(%struct.S1998) align 16 %agg.tmp) - %64 = bitcast %struct.S1998* %agg.tmp113 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %64, i8* align 16 bitcast (%struct.S1998* @s1998 to i8*), i64 5168, i1 false) - %65 = bitcast %struct.S1998* %agg.tmp114 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %65, i8* align 16 bitcast (%struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2) to i8*), i64 5168, i1 false) - %66 = bitcast %struct.S1998* %agg.tmp115 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %66, i8* align 16 bitcast (%struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2) to i8*), i64 5168, i1 false) - call void (i32, ...) @check1998va(i32 signext 1, double 1.000000e+00, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp113, i64 2, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp114, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp115) - %67 = bitcast %struct.S1998* %agg.tmp116 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %67, i8* align 16 bitcast (%struct.S1998* @s1998 to i8*), i64 5168, i1 false) - %68 = bitcast %struct.S1998* %agg.tmp117 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %68, i8* align 16 bitcast (%struct.S1998* @s1998 to i8*), i64 5168, i1 false) - %69 = bitcast %struct.S1998* %agg.tmp118 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %69, i8* align 16 bitcast (%struct.S1998* getelementptr inbounds ([5 x %struct.S1998], [5 x %struct.S1998]* @a1998, i32 0, i64 2) to i8*), i64 5168, i1 false) - %70 = bitcast %struct.S1998* %agg.tmp119 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %70, i8* align 16 bitcast (%struct.S1998* @s1998 to i8*), i64 5168, i1 false) - call void (i32, ...) @check1998va(i32 signext 2, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp116, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp117, ppc_fp128 0xM40000000000000000000000000000000, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp118, %struct.S1998* byval(%struct.S1998) align 16 %agg.tmp119) + store i32 %inc110, ptr %i, align 4 + store i32 %inc110, ptr %tmp + %59 = load i32, ptr %tmp + %60 = load i32, ptr %i, align 4 + store i32 %60, ptr @info, align 4 + %61 = load i32, ptr %j, align 4 + store i32 %61, ptr getelementptr inbounds (%struct.Info, ptr @info, i32 0, i32 1), align 4 + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp111, ptr align 16 @s1998, i64 5168, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp112, ptr align 16 getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2), i64 5168, i1 false) + call void @check1998(ptr sret(%struct.S1998) %agg.tmp, ptr byval(%struct.S1998) align 16 %agg.tmp111, ptr getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 1), ptr byval(%struct.S1998) align 16 %agg.tmp112) + call void @checkx1998(ptr byval(%struct.S1998) align 16 %agg.tmp) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp113, ptr align 16 @s1998, i64 5168, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp114, ptr align 16 getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2), i64 5168, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp115, ptr align 16 getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2), i64 5168, i1 false) + call void (i32, ...) @check1998va(i32 signext 1, double 1.000000e+00, ptr byval(%struct.S1998) align 16 %agg.tmp113, i64 2, ptr byval(%struct.S1998) align 16 %agg.tmp114, ptr byval(%struct.S1998) align 16 %agg.tmp115) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp116, ptr align 16 @s1998, i64 5168, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp117, ptr align 16 @s1998, i64 5168, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp118, ptr align 16 getelementptr inbounds ([5 x %struct.S1998], ptr @a1998, i32 0, i64 2), i64 5168, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %agg.tmp119, ptr align 16 @s1998, i64 5168, i1 false) + call void (i32, ...) @check1998va(i32 signext 2, ptr byval(%struct.S1998) align 16 %agg.tmp116, ptr byval(%struct.S1998) align 16 %agg.tmp117, ppc_fp128 0xM40000000000000000000000000000000, ptr byval(%struct.S1998) align 16 %agg.tmp118, ptr byval(%struct.S1998) align 16 %agg.tmp119) ret void } -declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) +declare void @llvm.memset.p0.i64(ptr nocapture, i8, i64, i1) +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) -declare void @check1998(%struct.S1998* sret(%struct.S1998), %struct.S1998* byval(%struct.S1998) align 16, %struct.S1998*, %struct.S1998* byval(%struct.S1998) align 16) +declare void @check1998(ptr sret(%struct.S1998), ptr byval(%struct.S1998) align 16, ptr, ptr byval(%struct.S1998) align 16) declare void @check1998va(i32 signext, ...) -declare void @checkx1998(%struct.S1998* byval(%struct.S1998) align 16 %arg) +declare void @checkx1998(ptr byval(%struct.S1998) align 16 %arg) diff --git a/llvm/test/CodeGen/PowerPC/resolvefi-disp.ll b/llvm/test/CodeGen/PowerPC/resolvefi-disp.ll index 0bbb01d..aaea3fd 100644 --- a/llvm/test/CodeGen/PowerPC/resolvefi-disp.ll +++ b/llvm/test/CodeGen/PowerPC/resolvefi-disp.ll @@ -20,52 +20,43 @@ target triple = "powerpc64le-unknown-linux-gnu" @s2760 = external global %struct.S2760 @fails = external global i32 -define void @check2760(%struct.S2760* noalias sret(%struct.S2760) %agg.result, %struct.S2760* byval(%struct.S2760) align 16, %struct.S2760* %arg1, %struct.S2760* byval(%struct.S2760) align 16) { +define void @check2760(ptr noalias sret(%struct.S2760) %agg.result, ptr byval(%struct.S2760) align 16, ptr %arg1, ptr byval(%struct.S2760) align 16) { entry: %arg0 = alloca %struct.S2760, align 32 %arg2 = alloca %struct.S2760, align 32 - %arg1.addr = alloca %struct.S2760*, align 8 + %arg1.addr = alloca ptr, align 8 %ret = alloca %struct.S2760, align 32 %b1 = alloca %struct.S2760, align 32 %b2 = alloca %struct.S2760, align 32 - %2 = bitcast %struct.S2760* %arg0 to i8* - %3 = bitcast %struct.S2760* %0 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %2, i8* align 16 %3, i64 11104, i1 false) - %4 = bitcast %struct.S2760* %arg2 to i8* - %5 = bitcast %struct.S2760* %1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 16 %4, i8* align 16 %5, i64 11104, i1 false) - store %struct.S2760* %arg1, %struct.S2760** %arg1.addr, align 8 - %6 = bitcast %struct.S2760* %ret to i8* - call void @llvm.memset.p0i8.i64(i8* align 32 %6, i8 0, i64 11104, i1 false) - %7 = bitcast %struct.S2760* %b1 to i8* - call void @llvm.memset.p0i8.i64(i8* align 32 %7, i8 0, i64 11104, i1 false) - %8 = bitcast %struct.S2760* %b2 to i8* - call void @llvm.memset.p0i8.i64(i8* align 32 %8, i8 0, i64 11104, i1 false) - %b = getelementptr inbounds %struct.S2760, %struct.S2760* %arg0, i32 0, i32 1 - %g = getelementptr inbounds %struct.anon, %struct.anon* %b, i32 0, i32 1 - %9 = load i64, i64* %g, align 8 - %10 = load i64, i64* getelementptr inbounds (%struct.S2760, %struct.S2760* @s2760, i32 0, i32 1, i32 1), align 8 - %cmp = icmp ne i64 %9, %10 + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %arg0, ptr align 16 %0, i64 11104, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 16 %arg2, ptr align 16 %1, i64 11104, i1 false) + store ptr %arg1, ptr %arg1.addr, align 8 + call void @llvm.memset.p0.i64(ptr align 32 %ret, i8 0, i64 11104, i1 false) + call void @llvm.memset.p0.i64(ptr align 32 %b1, i8 0, i64 11104, i1 false) + call void @llvm.memset.p0.i64(ptr align 32 %b2, i8 0, i64 11104, i1 false) + %b = getelementptr inbounds %struct.S2760, ptr %arg0, i32 0, i32 1 + %g = getelementptr inbounds %struct.anon, ptr %b, i32 0, i32 1 + %2 = load i64, ptr %g, align 8 + %3 = load i64, ptr getelementptr inbounds (%struct.S2760, ptr @s2760, i32 0, i32 1, i32 1), align 8 + %cmp = icmp ne i64 %2, %3 br i1 %cmp, label %if.then, label %if.end if.then: ; preds = %entry - %11 = load i32, i32* @fails, align 4 - %inc = add nsw i32 %11, 1 - store i32 %inc, i32* @fails, align 4 + %4 = load i32, ptr @fails, align 4 + %inc = add nsw i32 %4, 1 + store i32 %inc, ptr @fails, align 4 br label %if.end if.end: ; preds = %if.then, %entry - %12 = load i64, i64* getelementptr inbounds (%struct.S2760, %struct.S2760* @s2760, i32 0, i32 1, i32 1), align 8 - %b3 = getelementptr inbounds %struct.S2760, %struct.S2760* %ret, i32 0, i32 1 - %g4 = getelementptr inbounds %struct.anon, %struct.anon* %b3, i32 0, i32 1 - store i64 %12, i64* %g4, align 8 - %13 = bitcast %struct.S2760* %agg.result to i8* - %14 = bitcast %struct.S2760* %ret to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 32 %13, i8* align 32 %14, i64 11104, i1 false) + %5 = load i64, ptr getelementptr inbounds (%struct.S2760, ptr @s2760, i32 0, i32 1, i32 1), align 8 + %b3 = getelementptr inbounds %struct.S2760, ptr %ret, i32 0, i32 1 + %g4 = getelementptr inbounds %struct.anon, ptr %b3, i32 0, i32 1 + store i64 %5, ptr %g4, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr align 32 %agg.result, ptr align 32 %ret, i64 11104, i1 false) ret void } -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) -declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) +declare void @llvm.memset.p0.i64(ptr nocapture, i8, i64, i1) diff --git a/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll b/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll index 9698ed98..850c821 100644 --- a/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll +++ b/llvm/test/CodeGen/PowerPC/respect-rounding-mode.ll @@ -15,16 +15,16 @@ ; RUN: -mcpu=pwr9 -ppc-asm-full-reg-names < %s | grep 'xvmuldp' | count 4 ; RUN: llc -verify-machineinstrs --mtriple powerpc64le-unknown-linux-gnu \ ; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names < %s | grep 'xvmuldp' | count 4 -@IndirectCallPtr = dso_local local_unnamed_addr global void (...)* null, align 8 +@IndirectCallPtr = dso_local local_unnamed_addr global ptr null, align 8 define dso_local signext i32 @func1() local_unnamed_addr #0 { entry: - tail call void bitcast (void (...)* @directCall to void ()*)() #0 + tail call void @directCall() #0 %0 = tail call <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double> , metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %vecext = extractelement <2 x double> %0, i32 0 %sub = tail call double @llvm.experimental.constrained.fsub.f64(double %vecext, double -9.900000e+01, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %conv = tail call i32 @llvm.experimental.constrained.fptosi.i32.f64(double %sub, metadata !"fpexcept.ignore") #0 - tail call void bitcast (void (...)* @directCall to void ()*)() #0 + tail call void @directCall() #0 %1 = tail call <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double> , metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %vecext3 = extractelement <2 x double> %1, i32 1 %cmp = tail call i1 @llvm.experimental.constrained.fcmp.f64(double %vecext3, double 9.900000e+01, metadata !"une", metadata !"fpexcept.ignore") #0 @@ -50,16 +50,16 @@ declare void @exit(i32 signext) local_unnamed_addr define dso_local signext i32 @func2() local_unnamed_addr #0 { entry: - %call = tail call <2 x double> bitcast (<2 x double> (...)* @getvector1 to <2 x double> ()*)() #0 - %call1 = tail call <2 x double> bitcast (<2 x double> (...)* @getvector2 to <2 x double> ()*)() #0 - tail call void bitcast (void (...)* @directCall to void ()*)() #0 + %call = tail call <2 x double> @getvector1() #0 + %call1 = tail call <2 x double> @getvector2() #0 + tail call void @directCall() #0 %mul = tail call <2 x double> @llvm.experimental.constrained.fmul.v2f64(<2 x double> %call, <2 x double> %call1, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %vecext = extractelement <2 x double> %mul, i32 0 %cmp = tail call i1 @llvm.experimental.constrained.fcmp.f64(double %vecext, double 4.000000e+00, metadata !"oeq", metadata !"fpexcept.ignore") #0 br i1 %cmp, label %cleanup, label %if.end if.end: ; preds = %entry - tail call void bitcast (void (...)* @directCall to void ()*)() #0 + tail call void @directCall() #0 %mul10 = tail call <2 x double> @llvm.experimental.constrained.fmul.v2f64(<2 x double> %call, <2 x double> %call1, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %0 = tail call i32 @llvm.ppc.vsx.xvcmpeqdp.p(i32 2, <2 x double> %mul, <2 x double> %mul10) #0 br label %cleanup @@ -79,13 +79,13 @@ declare i32 @llvm.ppc.vsx.xvcmpeqdp.p(i32, <2 x double>, <2 x double>) define dso_local signext i32 @func3() local_unnamed_addr #0 { entry: - %0 = load void ()*, void ()** bitcast (void (...)** @IndirectCallPtr to void ()**), align 8 + %0 = load ptr, ptr @IndirectCallPtr, align 8 tail call void %0() #0 %1 = tail call <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double> , metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %vecext = extractelement <2 x double> %1, i32 0 %sub = tail call double @llvm.experimental.constrained.fsub.f64(double %vecext, double -9.900000e+01, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %conv = tail call i32 @llvm.experimental.constrained.fptosi.i32.f64(double %sub, metadata !"fpexcept.ignore") #0 - %2 = load void ()*, void ()** bitcast (void (...)** @IndirectCallPtr to void ()**), align 8 + %2 = load ptr, ptr @IndirectCallPtr, align 8 tail call void %2() #0 %3 = tail call <2 x double> @llvm.experimental.constrained.rint.v2f64(<2 x double> , metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %vecext4 = extractelement <2 x double> %3, i32 1 @@ -102,9 +102,9 @@ if.end: ; preds = %entry define dso_local signext i32 @func4() local_unnamed_addr #0 { entry: - %call = tail call <2 x double> bitcast (<2 x double> (...)* @getvector1 to <2 x double> ()*)() #0 - %call1 = tail call <2 x double> bitcast (<2 x double> (...)* @getvector2 to <2 x double> ()*)() #0 - %0 = load void ()*, void ()** bitcast (void (...)** @IndirectCallPtr to void ()**), align 8 + %call = tail call <2 x double> @getvector1() #0 + %call1 = tail call <2 x double> @getvector2() #0 + %0 = load ptr, ptr @IndirectCallPtr, align 8 tail call void %0() #0 %mul = tail call <2 x double> @llvm.experimental.constrained.fmul.v2f64(<2 x double> %call, <2 x double> %call1, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %vecext = extractelement <2 x double> %mul, i32 0 @@ -112,7 +112,7 @@ entry: br i1 %cmp, label %cleanup, label %if.end if.end: ; preds = %entry - %1 = load void ()*, void ()** bitcast (void (...)** @IndirectCallPtr to void ()**), align 8 + %1 = load ptr, ptr @IndirectCallPtr, align 8 tail call void %1() #0 %mul11 = tail call <2 x double> @llvm.experimental.constrained.fmul.v2f64(<2 x double> %call, <2 x double> %call1, metadata !"round.dynamic", metadata !"fpexcept.ignore") #0 %2 = tail call i32 @llvm.ppc.vsx.xvcmpeqdp.p(i32 2, <2 x double> %mul, <2 x double> %mul11) #0 diff --git a/llvm/test/CodeGen/PowerPC/retaddr.ll b/llvm/test/CodeGen/PowerPC/retaddr.ll index 7cae2db..6dd896a 100644 --- a/llvm/test/CodeGen/PowerPC/retaddr.ll +++ b/llvm/test/CodeGen/PowerPC/retaddr.ll @@ -23,12 +23,12 @@ ; PPC64: mtlr 0 ; PPC64: blr -define void @foo(i8** %X) nounwind { +define void @foo(ptr %X) nounwind { entry: - %tmp = tail call i8* @llvm.returnaddress( i32 0 ) ; [#uses=1] - store i8* %tmp, i8** %X, align 4 + %tmp = tail call ptr @llvm.returnaddress( i32 0 ) ; [#uses=1] + store ptr %tmp, ptr %X, align 4 ret void } -declare i8* @llvm.returnaddress(i32) +declare ptr @llvm.returnaddress(i32) diff --git a/llvm/test/CodeGen/PowerPC/retaddr2.ll b/llvm/test/CodeGen/PowerPC/retaddr2.ll index 7fb381e..9ac082e 100644 --- a/llvm/test/CodeGen/PowerPC/retaddr2.ll +++ b/llvm/test/CodeGen/PowerPC/retaddr2.ll @@ -3,10 +3,10 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" ; Function Attrs: nounwind readnone -define i8* @test1() #0 { +define ptr @test1() #0 { entry: - %0 = tail call i8* @llvm.returnaddress(i32 0) - ret i8* %0 + %0 = tail call ptr @llvm.returnaddress(i32 0) + ret ptr %0 } ; CHECK-LABEL: @test1 @@ -18,7 +18,7 @@ entry: ; CHECK: blr ; Function Attrs: nounwind readnone -declare i8* @llvm.returnaddress(i32) #0 +declare ptr @llvm.returnaddress(i32) #0 attributes #0 = { nounwind readnone } diff --git a/llvm/test/CodeGen/PowerPC/retaddr_multi_levels.ll b/llvm/test/CodeGen/PowerPC/retaddr_multi_levels.ll index 7e55f05..8cda360 100644 --- a/llvm/test/CodeGen/PowerPC/retaddr_multi_levels.ll +++ b/llvm/test/CodeGen/PowerPC/retaddr_multi_levels.ll @@ -8,9 +8,9 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-aix \ ; RUN: -mcpu=pwr7 | FileCheck %s -check-prefix=CHECK-32B-BE -declare i8* @llvm.returnaddress(i32) nounwind readnone +declare ptr @llvm.returnaddress(i32) nounwind readnone -define i8* @test0() nounwind readnone { +define ptr @test0() nounwind readnone { ; CHECK-64B-LE-LABEL: test0: ; CHECK-64B-LE: # %bb.0: # %entry ; CHECK-64B-LE-NEXT: mflr 0 @@ -44,11 +44,11 @@ define i8* @test0() nounwind readnone { ; CHECK-32B-BE-NEXT: mtlr 0 ; CHECK-32B-BE-NEXT: blr entry: - %0 = tail call i8* @llvm.returnaddress(i32 0); - ret i8* %0 + %0 = tail call ptr @llvm.returnaddress(i32 0); + ret ptr %0 } -define i8* @test1() nounwind readnone { +define ptr @test1() nounwind readnone { ; CHECK-64B-LE-LABEL: test1: ; CHECK-64B-LE: # %bb.0: # %entry ; CHECK-64B-LE-NEXT: mflr 0 @@ -88,11 +88,11 @@ define i8* @test1() nounwind readnone { ; CHECK-32B-BE-NEXT: mtlr 0 ; CHECK-32B-BE-NEXT: blr entry: - %0 = tail call i8* @llvm.returnaddress(i32 1); - ret i8* %0 + %0 = tail call ptr @llvm.returnaddress(i32 1); + ret ptr %0 } -define i8* @test2() nounwind readnone { +define ptr @test2() nounwind readnone { ; CHECK-64B-LE-LABEL: test2: ; CHECK-64B-LE: # %bb.0: # %entry ; CHECK-64B-LE-NEXT: mflr 0 @@ -135,6 +135,6 @@ define i8* @test2() nounwind readnone { ; CHECK-32B-BE-NEXT: mtlr 0 ; CHECK-32B-BE-NEXT: blr entry: - %0 = tail call i8* @llvm.returnaddress(i32 2); - ret i8* %0 + %0 = tail call ptr @llvm.returnaddress(i32 2); + ret ptr %0 } diff --git a/llvm/test/CodeGen/PowerPC/return-val-i128.ll b/llvm/test/CodeGen/PowerPC/return-val-i128.ll index 11e5fdc..379761d 100644 --- a/llvm/test/CodeGen/PowerPC/return-val-i128.ll +++ b/llvm/test/CodeGen/PowerPC/return-val-i128.ll @@ -2,34 +2,34 @@ define i128 @__fixsfdi(float %a) { entry: - %a_addr = alloca float ; [#uses=4] - %retval = alloca i128, align 16 ; [#uses=2] - %tmp = alloca i128, align 16 ; [#uses=3] + %a_addr = alloca float ; [#uses=4] + %retval = alloca i128, align 16 ; [#uses=2] + %tmp = alloca i128, align 16 ; [#uses=3] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store float %a, float* %a_addr - %tmp1 = load float, float* %a_addr, align 4 ; [#uses=1] + store float %a, ptr %a_addr + %tmp1 = load float, ptr %a_addr, align 4 ; [#uses=1] %tmp2 = fcmp olt float %tmp1, 0.000000e+00 ; [#uses=1] %tmp23 = zext i1 %tmp2 to i8 ; [#uses=1] %toBool = icmp ne i8 %tmp23, 0 ; [#uses=1] br i1 %toBool, label %bb, label %bb8 bb: ; preds = %entry - %tmp4 = load float, float* %a_addr, align 4 ; [#uses=1] + %tmp4 = load float, ptr %a_addr, align 4 ; [#uses=1] %tmp5 = fsub float -0.000000e+00, %tmp4 ; [#uses=1] %tmp6 = call i128 @__fixunssfDI( float %tmp5 ) nounwind ; [#uses=1] %tmp7 = sub i128 0, %tmp6 ; [#uses=1] - store i128 %tmp7, i128* %tmp, align 16 + store i128 %tmp7, ptr %tmp, align 16 br label %bb11 bb8: ; preds = %entry - %tmp9 = load float, float* %a_addr, align 4 ; [#uses=1] + %tmp9 = load float, ptr %a_addr, align 4 ; [#uses=1] %tmp10 = call i128 @__fixunssfDI( float %tmp9 ) nounwind ; [#uses=1] - store i128 %tmp10, i128* %tmp, align 16 + store i128 %tmp10, ptr %tmp, align 16 br label %bb11 bb11: ; preds = %bb8, %bb - %tmp12 = load i128, i128* %tmp, align 16 ; [#uses=1] - store i128 %tmp12, i128* %retval, align 16 + %tmp12 = load i128, ptr %tmp, align 16 ; [#uses=1] + store i128 %tmp12, ptr %retval, align 16 br label %return return: ; preds = %bb11 - %retval13 = load i128, i128* %retval ; [#uses=1] + %retval13 = load i128, ptr %retval ; [#uses=1] ret i128 %retval13 } diff --git a/llvm/test/CodeGen/PowerPC/rlwimi-and-or-bits.ll b/llvm/test/CodeGen/PowerPC/rlwimi-and-or-bits.ll index 4d37d69..03082fc 100644 --- a/llvm/test/CodeGen/PowerPC/rlwimi-and-or-bits.ll +++ b/llvm/test/CodeGen/PowerPC/rlwimi-and-or-bits.ll @@ -12,9 +12,9 @@ entry: ; CHECK-NOT: rlwimi ; CHECK: andi - %0 = load i32, i32* @m, align 4 + %0 = load i32, ptr @m, align 4 %or = or i32 %0, 250 - store i32 %or, i32* @m, align 4 + store i32 %or, ptr @m, align 4 %and = and i32 %or, 249 %sub.i = sub i32 %and, 0 %sext = shl i32 %sub.i, 24 diff --git a/llvm/test/CodeGen/PowerPC/rlwimi-and.ll b/llvm/test/CodeGen/PowerPC/rlwimi-and.ll index d512f51..b6287ca 100644 --- a/llvm/test/CodeGen/PowerPC/rlwimi-and.ll +++ b/llvm/test/CodeGen/PowerPC/rlwimi-and.ll @@ -14,16 +14,16 @@ codeRepl12: ; preds = %codeRepl4 unreachable codeRepl17: ; preds = %codeRepl4 - %0 = load i8, i8* undef, align 2 + %0 = load i8, ptr undef, align 2 %1 = and i8 %0, 1 %not.tobool.i.i.i = icmp eq i8 %1, 0 %2 = select i1 %not.tobool.i.i.i, i16 0, i16 256 - %3 = load i8, i8* undef, align 1 + %3 = load i8, ptr undef, align 1 %4 = and i8 %3, 1 %not.tobool.i.1.i.i = icmp eq i8 %4, 0 %rvml38.sroa.1.1.insert.ext = select i1 %not.tobool.i.1.i.i, i16 0, i16 1 %rvml38.sroa.0.0.insert.insert = or i16 %rvml38.sroa.1.1.insert.ext, %2 - store i16 %rvml38.sroa.0.0.insert.insert, i16* undef, align 2 + store i16 %rvml38.sroa.0.0.insert.insert, ptr undef, align 2 unreachable ; CHECK: @test diff --git a/llvm/test/CodeGen/PowerPC/rlwimi-commute.ll b/llvm/test/CodeGen/PowerPC/rlwimi-commute.ll index e06c339..d59b9f4 100644 --- a/llvm/test/CodeGen/PowerPC/rlwimi-commute.ll +++ b/llvm/test/CodeGen/PowerPC/rlwimi-commute.ll @@ -3,25 +3,25 @@ ; Make sure there is no register-register copies here. -define void @test1(i32* %A, i32* %B, i32* %D, i32* %E) { - %A.upgrd.1 = load i32, i32* %A ; [#uses=2] - %B.upgrd.2 = load i32, i32* %B ; [#uses=1] +define void @test1(ptr %A, ptr %B, ptr %D, ptr %E) { + %A.upgrd.1 = load i32, ptr %A ; [#uses=2] + %B.upgrd.2 = load i32, ptr %B ; [#uses=1] %X = and i32 %A.upgrd.1, 15 ; [#uses=1] %Y = and i32 %B.upgrd.2, -16 ; [#uses=1] %Z = or i32 %X, %Y ; [#uses=1] - store i32 %Z, i32* %D - store i32 %A.upgrd.1, i32* %E + store i32 %Z, ptr %D + store i32 %A.upgrd.1, ptr %E ret void } -define void @test2(i32* %A, i32* %B, i32* %D, i32* %E) { - %A.upgrd.3 = load i32, i32* %A ; [#uses=1] - %B.upgrd.4 = load i32, i32* %B ; [#uses=2] +define void @test2(ptr %A, ptr %B, ptr %D, ptr %E) { + %A.upgrd.3 = load i32, ptr %A ; [#uses=1] + %B.upgrd.4 = load i32, ptr %B ; [#uses=2] %X = and i32 %A.upgrd.3, 15 ; [#uses=1] %Y = and i32 %B.upgrd.4, -16 ; [#uses=1] %Z = or i32 %X, %Y ; [#uses=1] - store i32 %Z, i32* %D - store i32 %B.upgrd.4, i32* %E + store i32 %Z, ptr %D + store i32 %B.upgrd.4, ptr %E ret void } diff --git a/llvm/test/CodeGen/PowerPC/rlwimi-dyn-and.ll b/llvm/test/CodeGen/PowerPC/rlwimi-dyn-and.ll index 6e2802f..173a73f 100644 --- a/llvm/test/CodeGen/PowerPC/rlwimi-dyn-and.ll +++ b/llvm/test/CodeGen/PowerPC/rlwimi-dyn-and.ll @@ -4,13 +4,13 @@ target triple = "powerpc64-unknown-linux-gnu" define i32 @test1() #0 { entry: - %conv67.reload = load i32, i32* undef + %conv67.reload = load i32, ptr undef %const = bitcast i32 65535 to i32 br label %next next: %shl161 = shl nuw nsw i32 %conv67.reload, 15 - %0 = load i8, i8* undef, align 1 + %0 = load i8, ptr undef, align 1 %conv169 = zext i8 %0 to i32 %shl170 = shl nuw nsw i32 %conv169, 7 %const_mat = add i32 %const, -32767 @@ -25,13 +25,13 @@ next: define i32 @test2() #0 { entry: - %conv67.reload = load i32, i32* undef + %conv67.reload = load i32, ptr undef %const = bitcast i32 65535 to i32 br label %next next: %shl161 = shl nuw nsw i32 %conv67.reload, 15 - %0 = load i8, i8* undef, align 1 + %0 = load i8, ptr undef, align 1 %conv169 = zext i8 %0 to i32 %shl170 = shl nuw nsw i32 %conv169, 7 %shl161.masked = and i32 %shl161, 32768 diff --git a/llvm/test/CodeGen/PowerPC/rlwimi-keep-rsh.ll b/llvm/test/CodeGen/PowerPC/rlwimi-keep-rsh.ll index e66d0c0..fa04f4fc 100644 --- a/llvm/test/CodeGen/PowerPC/rlwimi-keep-rsh.ll +++ b/llvm/test/CodeGen/PowerPC/rlwimi-keep-rsh.ll @@ -19,7 +19,7 @@ entry: %tmp6 = and i32 %tmp2, %tmp5 %tmp7 = shl i32 %c, 8 %tmp8 = or i32 %tmp6, %tmp7 - store i32 %tmp8, i32* @foo, align 4 + store i32 %tmp8, ptr @foo, align 4 br label %return return: diff --git a/llvm/test/CodeGen/PowerPC/rm-zext.ll b/llvm/test/CodeGen/PowerPC/rm-zext.ll index a2e640a..81c6b99 100644 --- a/llvm/test/CodeGen/PowerPC/rm-zext.ll +++ b/llvm/test/CodeGen/PowerPC/rm-zext.ll @@ -43,9 +43,9 @@ entry: declare i32 @llvm.bswap.i32(i32) #0 ; Function Attrs: nounwind readonly -define zeroext i32 @bs32(i32* nocapture readonly %x) #1 { +define zeroext i32 @bs32(ptr nocapture readonly %x) #1 { entry: - %0 = load i32, i32* %x, align 4 + %0 = load i32, ptr %x, align 4 %1 = tail call i32 @llvm.bswap.i32(i32 %0) ret i32 %1 @@ -55,9 +55,9 @@ entry: } ; Function Attrs: nounwind readonly -define zeroext i16 @bs16(i16* nocapture readonly %x) #1 { +define zeroext i16 @bs16(ptr nocapture readonly %x) #1 { entry: - %0 = load i16, i16* %x, align 2 + %0 = load i16, ptr %x, align 2 %1 = tail call i16 @llvm.bswap.i16(i16 %0) ret i16 %1 diff --git a/llvm/test/CodeGen/PowerPC/rs-undef-use.ll b/llvm/test/CodeGen/PowerPC/rs-undef-use.ll index 8c902ad..0fccc54 100644 --- a/llvm/test/CodeGen/PowerPC/rs-undef-use.ll +++ b/llvm/test/CodeGen/PowerPC/rs-undef-use.ll @@ -1,7 +1,7 @@ ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 < %s target triple = "powerpc64-unknown-linux-gnu" -define void @autogen_SD156869(i8*, i64*) { +define void @autogen_SD156869(ptr, ptr) { BB: %A3 = alloca <2 x i1> %A2 = alloca <8 x i32> @@ -11,31 +11,28 @@ CF: ; preds = %CF85, %CF, %BB br i1 undef, label %CF, label %CF82.critedge CF82.critedge: ; preds = %CF - store i8 -59, i8* %0 + store i8 -59, ptr %0 br label %CF82 CF82: ; preds = %CF82, %CF82.critedge - %L17 = load i8, i8* %0 + %L17 = load i8, ptr %0 %E18 = extractelement <2 x i64> undef, i32 0 - %PC = bitcast <2 x i1>* %A3 to i64* br i1 undef, label %CF82, label %CF84.critedge CF84.critedge: ; preds = %CF82 - store i64 455385, i64* %PC + store i64 455385, ptr %A3 br label %CF84 CF84: ; preds = %CF84, %CF84.critedge - %L40 = load i64, i64* %PC - store i64 -1, i64* %PC + %L40 = load i64, ptr %A3 + store i64 -1, ptr %A3 %Sl46 = select i1 undef, i1 undef, i1 false br i1 %Sl46, label %CF84, label %CF85 CF85: ; preds = %CF84 - %L47 = load i64, i64* %PC - store i64 %E18, i64* %PC - %PC52 = bitcast <8 x i32>* %A2 to ppc_fp128* - store ppc_fp128 0xM4D436562A0416DE00000000000000000, ppc_fp128* %PC52 - %PC59 = bitcast i64* %1 to i8* + %L47 = load i64, ptr %A3 + store i64 %E18, ptr %A3 + store ppc_fp128 0xM4D436562A0416DE00000000000000000, ptr %A2 %Cmp61 = icmp slt i64 %L47, %L40 br i1 %Cmp61, label %CF, label %CF77 @@ -43,6 +40,6 @@ CF77: ; preds = %CF77, %CF85 br i1 undef, label %CF77, label %CF81 CF81: ; preds = %CF77 - store i8 %L17, i8* %PC59 + store i8 %L17, ptr %1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/s000-alias-misched.ll b/llvm/test/CodeGen/PowerPC/s000-alias-misched.ll index 20071ea..e217aaf 100644 --- a/llvm/test/CodeGen/PowerPC/s000-alias-misched.ll +++ b/llvm/test/CodeGen/PowerPC/s000-alias-misched.ll @@ -15,13 +15,13 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 declare void @check(i32 signext) nounwind -declare signext i32 @printf(i8* nocapture, ...) nounwind +declare signext i32 @printf(ptr nocapture, ...) nounwind -declare signext i32 @init(i8*) nounwind +declare signext i32 @init(ptr) nounwind define signext i32 @s000() nounwind { entry: - %call = tail call signext i32 @init(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str1, i64 0, i64 0)) + %call = tail call signext i32 @init(ptr @.str1) %call1 = tail call i64 @clock() nounwind br label %for.cond2.preheader @@ -33,37 +33,29 @@ for.cond2.preheader: ; preds = %for.end, %entry for.body4: ; preds = %for.body4, %for.cond2.preheader %indvars.iv = phi i64 [ 0, %for.cond2.preheader ], [ %indvars.iv.next.15, %for.body4 ] - %arrayidx = getelementptr inbounds [16000 x double], [16000 x double]* @Y, i64 0, i64 %indvars.iv - %arrayidx6 = getelementptr inbounds [16000 x double], [16000 x double]* @X, i64 0, i64 %indvars.iv - %0 = bitcast double* %arrayidx to <1 x double>* - %1 = load <1 x double>, <1 x double>* %0, align 32 - %add = fadd <1 x double> %1, - %2 = bitcast double* %arrayidx6 to <1 x double>* - store <1 x double> %add, <1 x double>* %2, align 32 + %arrayidx = getelementptr inbounds [16000 x double], ptr @Y, i64 0, i64 %indvars.iv + %arrayidx6 = getelementptr inbounds [16000 x double], ptr @X, i64 0, i64 %indvars.iv + %0 = load <1 x double>, ptr %arrayidx, align 32 + %add = fadd <1 x double> %0, + store <1 x double> %add, ptr %arrayidx6, align 32 %indvars.iv.next.322 = or i64 %indvars.iv, 4 - %arrayidx.4 = getelementptr inbounds [16000 x double], [16000 x double]* @Y, i64 0, i64 %indvars.iv.next.322 - %arrayidx6.4 = getelementptr inbounds [16000 x double], [16000 x double]* @X, i64 0, i64 %indvars.iv.next.322 - %3 = bitcast double* %arrayidx.4 to <1 x double>* - %4 = load <1 x double>, <1 x double>* %3, align 32 - %add.4 = fadd <1 x double> %4, - %5 = bitcast double* %arrayidx6.4 to <1 x double>* - store <1 x double> %add.4, <1 x double>* %5, align 32 + %arrayidx.4 = getelementptr inbounds [16000 x double], ptr @Y, i64 0, i64 %indvars.iv.next.322 + %arrayidx6.4 = getelementptr inbounds [16000 x double], ptr @X, i64 0, i64 %indvars.iv.next.322 + %1 = load <1 x double>, ptr %arrayidx.4, align 32 + %add.4 = fadd <1 x double> %1, + store <1 x double> %add.4, ptr %arrayidx6.4, align 32 %indvars.iv.next.726 = or i64 %indvars.iv, 8 - %arrayidx.8 = getelementptr inbounds [16000 x double], [16000 x double]* @Y, i64 0, i64 %indvars.iv.next.726 - %arrayidx6.8 = getelementptr inbounds [16000 x double], [16000 x double]* @X, i64 0, i64 %indvars.iv.next.726 - %6 = bitcast double* %arrayidx.8 to <1 x double>* - %7 = load <1 x double>, <1 x double>* %6, align 32 - %add.8 = fadd <1 x double> %7, - %8 = bitcast double* %arrayidx6.8 to <1 x double>* - store <1 x double> %add.8, <1 x double>* %8, align 32 + %arrayidx.8 = getelementptr inbounds [16000 x double], ptr @Y, i64 0, i64 %indvars.iv.next.726 + %arrayidx6.8 = getelementptr inbounds [16000 x double], ptr @X, i64 0, i64 %indvars.iv.next.726 + %2 = load <1 x double>, ptr %arrayidx.8, align 32 + %add.8 = fadd <1 x double> %2, + store <1 x double> %add.8, ptr %arrayidx6.8, align 32 %indvars.iv.next.1130 = or i64 %indvars.iv, 12 - %arrayidx.12 = getelementptr inbounds [16000 x double], [16000 x double]* @Y, i64 0, i64 %indvars.iv.next.1130 - %arrayidx6.12 = getelementptr inbounds [16000 x double], [16000 x double]* @X, i64 0, i64 %indvars.iv.next.1130 - %9 = bitcast double* %arrayidx.12 to <1 x double>* - %10 = load <1 x double>, <1 x double>* %9, align 32 - %add.12 = fadd <1 x double> %10, - %11 = bitcast double* %arrayidx6.12 to <1 x double>* - store <1 x double> %add.12, <1 x double>* %11, align 32 + %arrayidx.12 = getelementptr inbounds [16000 x double], ptr @Y, i64 0, i64 %indvars.iv.next.1130 + %arrayidx6.12 = getelementptr inbounds [16000 x double], ptr @X, i64 0, i64 %indvars.iv.next.1130 + %3 = load <1 x double>, ptr %arrayidx.12, align 32 + %add.12 = fadd <1 x double> %3, + store <1 x double> %add.12, ptr %arrayidx6.12, align 32 %indvars.iv.next.15 = add i64 %indvars.iv, 16 %lftr.wideiv.15 = trunc i64 %indvars.iv.next.15 to i32 %exitcond.15 = icmp eq i32 %lftr.wideiv.15, 16000 @@ -76,7 +68,7 @@ for.body4: ; preds = %for.body4, %for.con ; CHECK: bdnz for.end: ; preds = %for.body4 - %call7 = tail call signext i32 @dummy(double* getelementptr inbounds ([16000 x double], [16000 x double]* @X, i64 0, i64 0), double* getelementptr inbounds ([16000 x double], [16000 x double]* @Y, i64 0, i64 0), double* getelementptr inbounds ([16000 x double], [16000 x double]* @Z, i64 0, i64 0), double* getelementptr inbounds ([16000 x double], [16000 x double]* @U, i64 0, i64 0), double* getelementptr inbounds ([16000 x double], [16000 x double]* @V, i64 0, i64 0), [256 x double]* getelementptr inbounds ([256 x [256 x double]], [256 x [256 x double]]* @aa, i64 0, i64 0), [256 x double]* getelementptr inbounds ([256 x [256 x double]], [256 x [256 x double]]* @bb, i64 0, i64 0), [256 x double]* getelementptr inbounds ([256 x [256 x double]], [256 x [256 x double]]* @cc, i64 0, i64 0), double 0.000000e+00) nounwind + %call7 = tail call signext i32 @dummy(ptr @X, ptr @Y, ptr @Z, ptr @U, ptr @V, ptr @aa, ptr @bb, ptr @cc, double 0.000000e+00) nounwind %inc9 = add nsw i32 %nl.018, 1 %exitcond = icmp eq i32 %inc9, 400000 br i1 %exitcond, label %for.end10, label %for.cond2.preheader @@ -86,11 +78,11 @@ for.end10: ; preds = %for.end %sub = sub nsw i64 %call11, %call1 %conv = sitofp i64 %sub to double %div = fdiv double %conv, 1.000000e+06 - %call12 = tail call signext i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str137, i64 0, i64 0), double %div) nounwind + %call12 = tail call signext i32 (ptr, ...) @printf(ptr @.str137, double %div) nounwind tail call void @check(i32 signext 1) ret i32 0 } declare i64 @clock() nounwind -declare signext i32 @dummy(double*, double*, double*, double*, double*, [256 x double]*, [256 x double]*, [256 x double]*, double) +declare signext i32 @dummy(ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double) diff --git a/llvm/test/CodeGen/PowerPC/sat-register-clobber.ll b/llvm/test/CodeGen/PowerPC/sat-register-clobber.ll index 5c91497..428790b 100644 --- a/llvm/test/CodeGen/PowerPC/sat-register-clobber.ll +++ b/llvm/test/CodeGen/PowerPC/sat-register-clobber.ll @@ -2,7 +2,7 @@ ; RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu \ ; RUN: %s -o - -verify-machineinstrs -mcpu=pwr9 | FileCheck %s -define <4 x i32> @test(<4 x i32> %a, <4 x i32> %b, <4 x i32> %aa, <8 x i16>* %FromVSCR) { +define <4 x i32> @test(<4 x i32> %a, <4 x i32> %b, <4 x i32> %aa, ptr %FromVSCR) { ; CHECK-LABEL: test: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: vsumsws v5, v2, v3 @@ -24,7 +24,7 @@ entry: %1 = tail call <8 x i16> @llvm.ppc.altivec.vpkswus(<4 x i32> %a, <4 x i32> %b) %2 = bitcast <8 x i16> %1 to <4 x i32> %3 = tail call <8 x i16> @llvm.ppc.altivec.mfvscr() - store <8 x i16> %3, <8 x i16>* %FromVSCR, align 16 + store <8 x i16> %3, ptr %FromVSCR, align 16 %4 = tail call <8 x i16> @llvm.ppc.altivec.vpkswus(<4 x i32> %b, <4 x i32> %aa) %5 = bitcast <8 x i16> %4 to <4 x i32> %add1 = add <4 x i32> %add, %0 diff --git a/llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll b/llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll index 2d003da..514f96b 100644 --- a/llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll +++ b/llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll @@ -22,7 +22,7 @@ target triple = "powerpc-unknown-freebsd" define i64 @fred(double %a0) local_unnamed_addr #0 { b1: %v2 = alloca i64, align 128 - store i64 0, i64* %v2 + store i64 0, ptr %v2 %a1 = tail call double asm "fadd $0, $1, $2", "=f,f,f,~{cr2}"(double %a0, double %a0) %v3 = fcmp olt double %a1, 0x43E0000000000000 br i1 %v3, label %b4, label %b8 @@ -30,7 +30,7 @@ b1: b4: ; preds = %b1 %v5 = fcmp olt double %a0, 0xC3E0000000000000 %v6 = fptosi double %a0 to i64 - store i64 %v6, i64* %v2 + store i64 %v6, ptr %v2 %v7 = select i1 %v5, i64 -9223372036854775808, i64 %v6 br label %b15 @@ -49,7 +49,7 @@ b12: ; preds = %b8 b15: ; preds = %b12, %b10, %b4 %v16 = phi i64 [ %v7, %b4 ], [ %v11, %b10 ], [ %v14, %b12 ] - %v17 = load i64, i64* %v2 + %v17 = load i64, ptr %v2 %v18 = add i64 %v17, %v16 ret i64 %v18 } diff --git a/llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll b/llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll index 173560f..62c6117 100644 --- a/llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll +++ b/llvm/test/CodeGen/PowerPC/scalar-double-ldst.ll @@ -33,14 +33,14 @@ define dso_local double @ld_0_double_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_uint8_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_double_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -55,14 +55,14 @@ define dso_local double @ld_align16_double_uint8_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_uint8_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -87,14 +87,14 @@ define dso_local double @ld_align32_double_uint8_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_uint8_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -122,14 +122,14 @@ define dso_local double @ld_align64_double_uint8_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_double_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsibzx f0, r3, r4 @@ -143,8 +143,8 @@ define dso_local double @ld_reg_double_uint8_t(i8* nocapture readonly %ptr, i64 ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to double ret double %conv } @@ -168,8 +168,8 @@ define dso_local double @ld_or_double_uint8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = uitofp i8 %1 to double ret double %conv1 } @@ -192,8 +192,8 @@ define dso_local double @ld_not_disjoint16_double_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to double ret double %conv } @@ -218,8 +218,8 @@ define dso_local double @ld_disjoint_align16_double_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = uitofp i8 %1 to double ret double %conv } @@ -244,8 +244,8 @@ define dso_local double @ld_not_disjoint32_double_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to double ret double %conv } @@ -284,8 +284,8 @@ define dso_local double @ld_disjoint_align32_double_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = uitofp i8 %1 to double ret double %conv } @@ -326,8 +326,8 @@ define dso_local double @ld_not_disjoint64_double_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to double ret double %conv } @@ -366,8 +366,8 @@ define dso_local double @ld_disjoint_align64_double_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = uitofp i8 %1 to double ret double %conv } @@ -388,7 +388,7 @@ define dso_local double @ld_cst_align16_double_uint8_t() { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i8 %0 to double ret double %conv } @@ -418,7 +418,7 @@ define dso_local double @ld_cst_align32_double_uint8_t() { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = uitofp i8 %0 to double ret double %conv } @@ -452,7 +452,7 @@ define dso_local double @ld_cst_align64_double_uint8_t() { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i8 %0 to double ret double %conv } @@ -474,14 +474,14 @@ define dso_local double @ld_0_double_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_int8_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_int8_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_double_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -498,14 +498,14 @@ define dso_local double @ld_align16_double_int8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_int8_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -533,14 +533,14 @@ define dso_local double @ld_align32_double_int8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_int8_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -571,14 +571,14 @@ define dso_local double @ld_align64_double_int8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_double_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsibzx v2, r3, r4 @@ -594,8 +594,8 @@ define dso_local double @ld_reg_double_int8_t(i8* nocapture readonly %ptr, i64 % ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to double ret double %conv } @@ -621,8 +621,8 @@ define dso_local double @ld_or_double_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sitofp i8 %1 to double ret double %conv1 } @@ -647,8 +647,8 @@ define dso_local double @ld_not_disjoint16_double_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to double ret double %conv } @@ -675,8 +675,8 @@ define dso_local double @ld_disjoint_align16_double_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sitofp i8 %1 to double ret double %conv } @@ -703,8 +703,8 @@ define dso_local double @ld_not_disjoint32_double_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to double ret double %conv } @@ -746,8 +746,8 @@ define dso_local double @ld_disjoint_align32_double_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sitofp i8 %1 to double ret double %conv } @@ -791,8 +791,8 @@ define dso_local double @ld_not_disjoint64_double_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to double ret double %conv } @@ -834,8 +834,8 @@ define dso_local double @ld_disjoint_align64_double_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sitofp i8 %1 to double ret double %conv } @@ -858,7 +858,7 @@ define dso_local double @ld_cst_align16_double_int8_t() { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i8 %0 to double ret double %conv } @@ -891,7 +891,7 @@ define dso_local double @ld_cst_align32_double_int8_t() { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sitofp i8 %0 to double ret double %conv } @@ -928,7 +928,7 @@ define dso_local double @ld_cst_align64_double_int8_t() { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i8 %0 to double ret double %conv } @@ -948,14 +948,14 @@ define dso_local double @ld_0_double_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_uint16_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_double_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -970,15 +970,14 @@ define dso_local double @ld_align16_double_uint16_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_uint16_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -1003,15 +1002,14 @@ define dso_local double @ld_align32_double_uint16_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_uint16_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1039,15 +1037,14 @@ define dso_local double @ld_align64_double_uint16_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_double_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsihzx f0, r3, r4 @@ -1061,10 +1058,9 @@ define dso_local double @ld_reg_double_uint16_t(i8* nocapture readonly %ptr, i64 ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to double ret double %conv } @@ -1087,8 +1083,8 @@ define dso_local double @ld_or_double_uint16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = uitofp i16 %1 to double ret double %conv1 } @@ -1111,8 +1107,8 @@ define dso_local double @ld_not_disjoint16_double_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to double ret double %conv } @@ -1137,8 +1133,8 @@ define dso_local double @ld_disjoint_align16_double_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = uitofp i16 %1 to double ret double %conv } @@ -1163,8 +1159,8 @@ define dso_local double @ld_not_disjoint32_double_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to double ret double %conv } @@ -1203,8 +1199,8 @@ define dso_local double @ld_disjoint_align32_double_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = uitofp i16 %1 to double ret double %conv } @@ -1245,8 +1241,8 @@ define dso_local double @ld_not_disjoint64_double_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to double ret double %conv } @@ -1285,8 +1281,8 @@ define dso_local double @ld_disjoint_align64_double_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = uitofp i16 %1 to double ret double %conv } @@ -1307,7 +1303,7 @@ define dso_local double @ld_cst_align16_double_uint16_t() { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i16 %0 to double ret double %conv } @@ -1337,7 +1333,7 @@ define dso_local double @ld_cst_align32_double_uint16_t() { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = uitofp i16 %0 to double ret double %conv } @@ -1371,7 +1367,7 @@ define dso_local double @ld_cst_align64_double_uint16_t() { ; CHECK-P8-NEXT: xscvuxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i16 %0 to double ret double %conv } @@ -1392,14 +1388,14 @@ define dso_local double @ld_0_double_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_int16_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_int16_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_double_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -1415,15 +1411,14 @@ define dso_local double @ld_align16_double_int16_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_int16_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -1450,15 +1445,14 @@ define dso_local double @ld_align32_double_int16_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_int16_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1488,15 +1482,14 @@ define dso_local double @ld_align64_double_int16_t(i8* nocapture readonly %ptr) ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_int16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_int16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_double_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsihzx v2, r3, r4 @@ -1511,10 +1504,9 @@ define dso_local double @ld_reg_double_int16_t(i8* nocapture readonly %ptr, i64 ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to double ret double %conv } @@ -1538,8 +1530,8 @@ define dso_local double @ld_or_double_int16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sitofp i16 %1 to double ret double %conv1 } @@ -1563,8 +1555,8 @@ define dso_local double @ld_not_disjoint16_double_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to double ret double %conv } @@ -1590,8 +1582,8 @@ define dso_local double @ld_disjoint_align16_double_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = sitofp i16 %1 to double ret double %conv } @@ -1617,8 +1609,8 @@ define dso_local double @ld_not_disjoint32_double_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to double ret double %conv } @@ -1659,8 +1651,8 @@ define dso_local double @ld_disjoint_align32_double_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = sitofp i16 %1 to double ret double %conv } @@ -1703,8 +1695,8 @@ define dso_local double @ld_not_disjoint64_double_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to double ret double %conv } @@ -1745,8 +1737,8 @@ define dso_local double @ld_disjoint_align64_double_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = sitofp i16 %1 to double ret double %conv } @@ -1768,7 +1760,7 @@ define dso_local double @ld_cst_align16_double_int16_t() { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i16 %0 to double ret double %conv } @@ -1800,7 +1792,7 @@ define dso_local double @ld_cst_align32_double_int16_t() { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sitofp i16 %0 to double ret double %conv } @@ -1836,7 +1828,7 @@ define dso_local double @ld_cst_align64_double_int16_t() { ; CHECK-P8-NEXT: xscvsxddp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i16 %0 to double ret double %conv } @@ -1849,14 +1841,14 @@ define dso_local double @ld_0_double_uint32_t(i64 %ptr) { ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_uint32_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_double_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: addi r3, r3, 8 @@ -1864,15 +1856,14 @@ define dso_local double @ld_align16_double_uint32_t(i8* nocapture readonly %ptr) ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_uint32_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -1888,15 +1879,14 @@ define dso_local double @ld_align32_double_uint32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_uint32_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1914,25 +1904,23 @@ define dso_local double @ld_align64_double_uint32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_double_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfiwzx f0, r3, r4 ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to double ret double %conv } @@ -1947,8 +1935,8 @@ define dso_local double @ld_or_double_uint32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = uitofp i32 %1 to double ret double %conv1 } @@ -1963,8 +1951,8 @@ define dso_local double @ld_not_disjoint16_double_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to double ret double %conv } @@ -1981,8 +1969,8 @@ define dso_local double @ld_disjoint_align16_double_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = uitofp i32 %1 to double ret double %conv } @@ -1998,8 +1986,8 @@ define dso_local double @ld_not_disjoint32_double_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to double ret double %conv } @@ -2037,8 +2025,8 @@ define dso_local double @ld_disjoint_align32_double_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = uitofp i32 %1 to double ret double %conv } @@ -2067,8 +2055,8 @@ define dso_local double @ld_not_disjoint64_double_uint32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to double ret double %conv } @@ -2096,8 +2084,8 @@ define dso_local double @ld_disjoint_align64_double_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = uitofp i32 %1 to double ret double %conv } @@ -2111,7 +2099,7 @@ define dso_local double @ld_cst_align16_double_uint32_t() { ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i32 %0 to double ret double %conv } @@ -2133,7 +2121,7 @@ define dso_local double @ld_cst_align32_double_uint32_t() { ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = uitofp i32 %0 to double ret double %conv } @@ -2157,7 +2145,7 @@ define dso_local double @ld_cst_align64_double_uint32_t() { ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i32 %0 to double ret double %conv } @@ -2170,14 +2158,14 @@ define dso_local double @ld_0_double_int32_t(i64 %ptr) { ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_int32_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_int32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_double_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: addi r3, r3, 8 @@ -2185,15 +2173,14 @@ define dso_local double @ld_align16_double_int32_t(i8* nocapture readonly %ptr) ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_int32_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -2209,15 +2196,14 @@ define dso_local double @ld_align32_double_int32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_int32_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2235,25 +2221,23 @@ define dso_local double @ld_align64_double_int32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_int32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_int32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_double_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfiwax f0, r3, r4 ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to double ret double %conv } @@ -2268,8 +2252,8 @@ define dso_local double @ld_or_double_int32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = sitofp i32 %1 to double ret double %conv1 } @@ -2284,8 +2268,8 @@ define dso_local double @ld_not_disjoint16_double_int32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to double ret double %conv } @@ -2302,8 +2286,8 @@ define dso_local double @ld_disjoint_align16_double_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = sitofp i32 %1 to double ret double %conv } @@ -2319,8 +2303,8 @@ define dso_local double @ld_not_disjoint32_double_int32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to double ret double %conv } @@ -2358,8 +2342,8 @@ define dso_local double @ld_disjoint_align32_double_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = sitofp i32 %1 to double ret double %conv } @@ -2388,8 +2372,8 @@ define dso_local double @ld_not_disjoint64_double_int32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to double ret double %conv } @@ -2417,8 +2401,8 @@ define dso_local double @ld_disjoint_align64_double_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = sitofp i32 %1 to double ret double %conv } @@ -2432,7 +2416,7 @@ define dso_local double @ld_cst_align16_double_int32_t() { ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i32 %0 to double ret double %conv } @@ -2454,7 +2438,7 @@ define dso_local double @ld_cst_align32_double_int32_t() { ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sitofp i32 %0 to double ret double %conv } @@ -2478,7 +2462,7 @@ define dso_local double @ld_cst_align64_double_int32_t() { ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i32 %0 to double ret double %conv } @@ -2491,29 +2475,28 @@ define dso_local double @ld_0_double_uint64_t(i64 %ptr) { ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_uint64_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_double_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_uint64_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2528,15 +2511,14 @@ define dso_local double @ld_align32_double_uint64_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_uint64_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2554,25 +2536,23 @@ define dso_local double @ld_align64_double_uint64_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_double_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to double ret double %conv } @@ -2587,8 +2567,8 @@ define dso_local double @ld_or_double_uint64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = uitofp i64 %1 to double ret double %conv1 } @@ -2603,8 +2583,8 @@ define dso_local double @ld_not_disjoint16_double_uint64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to double ret double %conv } @@ -2620,8 +2600,8 @@ define dso_local double @ld_disjoint_align16_double_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to double ret double %conv } @@ -2637,8 +2617,8 @@ define dso_local double @ld_not_disjoint32_double_uint64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to double ret double %conv } @@ -2675,8 +2655,8 @@ define dso_local double @ld_disjoint_align32_double_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = uitofp i64 %1 to double ret double %conv } @@ -2705,8 +2685,8 @@ define dso_local double @ld_not_disjoint64_double_uint64_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to double ret double %conv } @@ -2734,8 +2714,8 @@ define dso_local double @ld_disjoint_align64_double_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = uitofp i64 %1 to double ret double %conv } @@ -2748,7 +2728,7 @@ define dso_local double @ld_cst_align16_double_uint64_t() { ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i64 %0 to double ret double %conv } @@ -2762,7 +2742,7 @@ define dso_local double @ld_cst_align32_double_uint64_t() { ; CHECK-NEXT: xscvuxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = uitofp i64 %0 to double ret double %conv } @@ -2786,7 +2766,7 @@ define dso_local double @ld_cst_align64_double_uint64_t() { ; CHECK-PREP10-NEXT: xscvuxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i64 %0 to double ret double %conv } @@ -2799,29 +2779,28 @@ define dso_local double @ld_0_double_int64_t(i64 %ptr) { ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_int64_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_int64_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_double_int64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_int64_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_int64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2836,15 +2815,14 @@ define dso_local double @ld_align32_double_int64_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_int64_t(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_int64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2862,25 +2840,23 @@ define dso_local double @ld_align64_double_int64_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_int64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_int64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_double_int64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to double ret double %conv } @@ -2895,8 +2871,8 @@ define dso_local double @ld_or_double_int64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = sitofp i64 %1 to double ret double %conv1 } @@ -2911,8 +2887,8 @@ define dso_local double @ld_not_disjoint16_double_int64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to double ret double %conv } @@ -2928,8 +2904,8 @@ define dso_local double @ld_disjoint_align16_double_int64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to double ret double %conv } @@ -2945,8 +2921,8 @@ define dso_local double @ld_not_disjoint32_double_int64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to double ret double %conv } @@ -2983,8 +2959,8 @@ define dso_local double @ld_disjoint_align32_double_int64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = sitofp i64 %1 to double ret double %conv } @@ -3013,8 +2989,8 @@ define dso_local double @ld_not_disjoint64_double_int64_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to double ret double %conv } @@ -3042,8 +3018,8 @@ define dso_local double @ld_disjoint_align64_double_int64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = sitofp i64 %1 to double ret double %conv } @@ -3056,7 +3032,7 @@ define dso_local double @ld_cst_align16_double_int64_t() { ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i64 %0 to double ret double %conv } @@ -3070,7 +3046,7 @@ define dso_local double @ld_cst_align32_double_int64_t() { ; CHECK-NEXT: xscvsxddp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = sitofp i64 %0 to double ret double %conv } @@ -3094,7 +3070,7 @@ define dso_local double @ld_cst_align64_double_int64_t() { ; CHECK-PREP10-NEXT: xscvsxddp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i64 %0 to double ret double %conv } @@ -3106,28 +3082,27 @@ define dso_local double @ld_0_double_float(i64 %ptr) { ; CHECK-NEXT: lfs f1, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fpext float %1 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_float(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_double_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f1, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fpext float %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fpext float %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_float(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f1, 99999000(r3), 0 @@ -3140,15 +3115,14 @@ define dso_local double @ld_align32_double_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lfsx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fpext float %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fpext float %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_float(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3164,24 +3138,22 @@ define dso_local double @ld_align64_double_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lfsx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fpext float %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fpext float %0 to double ret double %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_double_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f1, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fpext float %1 to double + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fpext float %0 to double ret double %conv } @@ -3195,8 +3167,8 @@ define dso_local double @ld_or_double_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fpext float %1 to double ret double %conv1 } @@ -3210,8 +3182,8 @@ define dso_local double @ld_not_disjoint16_double_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fpext float %1 to double ret double %conv } @@ -3226,8 +3198,8 @@ define dso_local double @ld_disjoint_align16_double_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fpext float %1 to double ret double %conv } @@ -3242,8 +3214,8 @@ define dso_local double @ld_not_disjoint32_double_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fpext float %1 to double ret double %conv } @@ -3277,8 +3249,8 @@ define dso_local double @ld_disjoint_align32_double_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fpext float %1 to double ret double %conv } @@ -3305,8 +3277,8 @@ define dso_local double @ld_not_disjoint64_double_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fpext float %1 to double ret double %conv } @@ -3332,8 +3304,8 @@ define dso_local double @ld_disjoint_align64_double_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fpext float %1 to double ret double %conv } @@ -3345,7 +3317,7 @@ define dso_local double @ld_cst_align16_double_float() { ; CHECK-NEXT: lfs f1, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fpext float %0 to double ret double %conv } @@ -3358,7 +3330,7 @@ define dso_local double @ld_cst_align32_double_float() { ; CHECK-NEXT: lfs f1, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fpext float %0 to double ret double %conv } @@ -3380,7 +3352,7 @@ define dso_local double @ld_cst_align64_double_float() { ; CHECK-PREP10-NEXT: lfs f1, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fpext float %0 to double ret double %conv } @@ -3392,26 +3364,25 @@ define dso_local double @ld_0_double_double(i64 %ptr) { ; CHECK-NEXT: lfd f1, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 ret double %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align16_double_double(i8* nocapture readonly %ptr) { +define dso_local double @ld_align16_double_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_double_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f1, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - ret double %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + ret double %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align32_double_double(i8* nocapture readonly %ptr) { +define dso_local double @ld_align32_double_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_double_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f1, 99999000(r3), 0 @@ -3424,14 +3395,13 @@ define dso_local double @ld_align32_double_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lfdx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - ret double %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + ret double %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_align64_double_double(i8* nocapture readonly %ptr) { +define dso_local double @ld_align64_double_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_double_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3447,23 +3417,21 @@ define dso_local double @ld_align64_double_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lfdx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - ret double %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + ret double %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local double @ld_reg_double_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local double @ld_reg_double_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_double_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f1, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - ret double %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + ret double %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -3476,8 +3444,8 @@ define dso_local double @ld_or_double_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 ret double %1 } @@ -3490,8 +3458,8 @@ define dso_local double @ld_not_disjoint16_double_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 ret double %1 } @@ -3505,8 +3473,8 @@ define dso_local double @ld_disjoint_align16_double_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 ret double %1 } @@ -3520,8 +3488,8 @@ define dso_local double @ld_not_disjoint32_double_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 ret double %1 } @@ -3554,8 +3522,8 @@ define dso_local double @ld_disjoint_align32_double_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 ret double %1 } @@ -3581,8 +3549,8 @@ define dso_local double @ld_not_disjoint64_double_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 ret double %1 } @@ -3607,8 +3575,8 @@ define dso_local double @ld_disjoint_align64_double_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 ret double %1 } @@ -3619,7 +3587,7 @@ define dso_local double @ld_cst_align16_double_double() { ; CHECK-NEXT: lfd f1, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 ret double %0 } @@ -3631,7 +3599,7 @@ define dso_local double @ld_cst_align32_double_double() { ; CHECK-NEXT: lfd f1, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 ret double %0 } @@ -3652,7 +3620,7 @@ define dso_local double @ld_cst_align64_double_double() { ; CHECK-PREP10-NEXT: lfd f1, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret double %0 } @@ -3672,13 +3640,13 @@ define dso_local void @st_0_double_uint8_t(i64 %ptr, double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_uint8_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_uint8_t(ptr nocapture %ptr, double %str) { ; CHECK-POSTP8-LABEL: st_align16_double_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -3694,13 +3662,13 @@ define dso_local void @st_align16_double_uint8_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_uint8_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_uint8_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -3726,13 +3694,13 @@ define dso_local void @st_align32_double_uint8_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_uint8_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_uint8_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -3761,13 +3729,13 @@ define dso_local void @st_align64_double_uint8_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_uint8_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_uint8_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-POSTP8-LABEL: st_reg_double_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -3782,8 +3750,8 @@ define dso_local void @st_reg_double_uint8_t(i8* nocapture %ptr, i64 %off, doubl ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -3807,8 +3775,8 @@ entry: %conv = fptoui double %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -3831,8 +3799,8 @@ define dso_local void @st_not_disjoint16_double_uint8_t(i64 %ptr, double %str) { entry: %conv = fptoui double %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -3857,8 +3825,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui double %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -3883,8 +3851,8 @@ define dso_local void @st_not_disjoint32_double_uint8_t(i64 %ptr, double %str) { entry: %conv = fptoui double %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -3923,8 +3891,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui double %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -3965,8 +3933,8 @@ define dso_local void @st_not_disjoint64_double_uint8_t(i64 %ptr, double %str) { entry: %conv = fptoui double %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4005,8 +3973,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui double %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -4027,7 +3995,7 @@ define dso_local void @st_cst_align16_double_uint8_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -4057,7 +4025,7 @@ define dso_local void @st_cst_align32_double_uint8_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -4091,7 +4059,7 @@ define dso_local void @st_cst_align64_double_uint8_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -4111,13 +4079,13 @@ define dso_local void @st_0_double_int8_t(i64 %ptr, double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_int8_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_int8_t(ptr nocapture %ptr, double %str) { ; CHECK-POSTP8-LABEL: st_align16_double_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -4133,13 +4101,13 @@ define dso_local void @st_align16_double_int8_t(i8* nocapture %ptr, double %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_int8_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_int8_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -4165,13 +4133,13 @@ define dso_local void @st_align32_double_int8_t(i8* nocapture %ptr, double %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_int8_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_int8_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -4200,13 +4168,13 @@ define dso_local void @st_align64_double_int8_t(i8* nocapture %ptr, double %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_int8_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_int8_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-POSTP8-LABEL: st_reg_double_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -4221,8 +4189,8 @@ define dso_local void @st_reg_double_int8_t(i8* nocapture %ptr, i64 %off, double ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -4246,8 +4214,8 @@ entry: %conv = fptosi double %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4270,8 +4238,8 @@ define dso_local void @st_not_disjoint16_double_int8_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4296,8 +4264,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi double %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -4322,8 +4290,8 @@ define dso_local void @st_not_disjoint32_double_int8_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4362,8 +4330,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi double %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -4404,8 +4372,8 @@ define dso_local void @st_not_disjoint64_double_int8_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4444,8 +4412,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi double %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -4466,7 +4434,7 @@ define dso_local void @st_cst_align16_double_int8_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -4496,7 +4464,7 @@ define dso_local void @st_cst_align32_double_int8_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -4530,7 +4498,7 @@ define dso_local void @st_cst_align64_double_int8_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -4550,13 +4518,13 @@ define dso_local void @st_0_double_uint16_t(i64 %ptr, double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_uint16_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_uint16_t(ptr nocapture %ptr, double %str) { ; CHECK-POSTP8-LABEL: st_align16_double_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -4572,14 +4540,13 @@ define dso_local void @st_align16_double_uint16_t(i8* nocapture %ptr, double %st ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_uint16_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_uint16_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -4605,14 +4572,13 @@ define dso_local void @st_align32_double_uint16_t(i8* nocapture %ptr, double %st ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_uint16_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_uint16_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -4641,14 +4607,13 @@ define dso_local void @st_align64_double_uint16_t(i8* nocapture %ptr, double %st ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_uint16_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_uint16_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-POSTP8-LABEL: st_reg_double_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -4663,9 +4628,8 @@ define dso_local void @st_reg_double_uint16_t(i8* nocapture %ptr, i64 %off, doub ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -4689,8 +4653,8 @@ entry: %conv = fptoui double %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4713,8 +4677,8 @@ define dso_local void @st_not_disjoint16_double_uint16_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4739,8 +4703,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui double %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -4765,8 +4729,8 @@ define dso_local void @st_not_disjoint32_double_uint16_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4805,8 +4769,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui double %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -4847,8 +4811,8 @@ define dso_local void @st_not_disjoint64_double_uint16_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4887,8 +4851,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui double %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -4909,7 +4873,7 @@ define dso_local void @st_cst_align16_double_uint16_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -4939,7 +4903,7 @@ define dso_local void @st_cst_align32_double_uint16_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -4973,7 +4937,7 @@ define dso_local void @st_cst_align64_double_uint16_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -4993,13 +4957,13 @@ define dso_local void @st_0_double_int16_t(i64 %ptr, double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_int16_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_int16_t(ptr nocapture %ptr, double %str) { ; CHECK-POSTP8-LABEL: st_align16_double_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -5015,14 +4979,13 @@ define dso_local void @st_align16_double_int16_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_int16_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_int16_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5048,14 +5011,13 @@ define dso_local void @st_align32_double_int16_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_int16_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_int16_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5084,14 +5046,13 @@ define dso_local void @st_align64_double_int16_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_int16_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_int16_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-POSTP8-LABEL: st_reg_double_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -5106,9 +5067,8 @@ define dso_local void @st_reg_double_int16_t(i8* nocapture %ptr, i64 %off, doubl ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -5132,8 +5092,8 @@ entry: %conv = fptosi double %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5156,8 +5116,8 @@ define dso_local void @st_not_disjoint16_double_int16_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5182,8 +5142,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi double %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -5208,8 +5168,8 @@ define dso_local void @st_not_disjoint32_double_int16_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5248,8 +5208,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi double %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -5290,8 +5250,8 @@ define dso_local void @st_not_disjoint64_double_int16_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5330,8 +5290,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi double %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -5352,7 +5312,7 @@ define dso_local void @st_cst_align16_double_int16_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5382,7 +5342,7 @@ define dso_local void @st_cst_align32_double_int16_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5416,7 +5376,7 @@ define dso_local void @st_cst_align64_double_int16_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5429,13 +5389,13 @@ define dso_local void @st_0_double_uint32_t(i64 %ptr, double %str) { ; CHECK-NEXT: blr entry: %conv = fptoui double %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_uint32_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_uint32_t(ptr nocapture %ptr, double %str) { ; CHECK-LABEL: st_align16_double_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpuxws f0, f1 @@ -5444,14 +5404,13 @@ define dso_local void @st_align16_double_uint32_t(i8* nocapture %ptr, double %st ; CHECK-NEXT: blr entry: %conv = fptoui double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_uint32_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_uint32_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -5468,14 +5427,13 @@ define dso_local void @st_align32_double_uint32_t(i8* nocapture %ptr, double %st ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_uint32_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_uint32_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -5494,14 +5452,13 @@ define dso_local void @st_align64_double_uint32_t(i8* nocapture %ptr, double %st ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_uint32_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_uint32_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-LABEL: st_reg_double_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpuxws f0, f1 @@ -5509,9 +5466,8 @@ define dso_local void @st_reg_double_uint32_t(i8* nocapture %ptr, i64 %off, doub ; CHECK-NEXT: blr entry: %conv = fptoui double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -5527,8 +5483,8 @@ entry: %conv = fptoui double %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5543,8 +5499,8 @@ define dso_local void @st_not_disjoint16_double_uint32_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5561,8 +5517,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui double %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -5578,8 +5534,8 @@ define dso_local void @st_not_disjoint32_double_uint32_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5617,8 +5573,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui double %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -5658,8 +5614,8 @@ define dso_local void @st_not_disjoint64_double_uint32_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5687,8 +5643,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui double %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -5702,7 +5658,7 @@ define dso_local void @st_cst_align16_double_uint32_t(double %str) { ; CHECK-NEXT: blr entry: %conv = fptoui double %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5724,7 +5680,7 @@ define dso_local void @st_cst_align32_double_uint32_t(double %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui double %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5748,7 +5704,7 @@ define dso_local void @st_cst_align64_double_uint32_t(double %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui double %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5761,13 +5717,13 @@ define dso_local void @st_0_double_int32_t(i64 %ptr, double %str) { ; CHECK-NEXT: blr entry: %conv = fptosi double %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_int32_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_int32_t(ptr nocapture %ptr, double %str) { ; CHECK-LABEL: st_align16_double_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpsxws f0, f1 @@ -5776,14 +5732,13 @@ define dso_local void @st_align16_double_int32_t(i8* nocapture %ptr, double %str ; CHECK-NEXT: blr entry: %conv = fptosi double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_int32_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_int32_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5800,14 +5755,13 @@ define dso_local void @st_align32_double_int32_t(i8* nocapture %ptr, double %str ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_int32_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_int32_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5826,14 +5780,13 @@ define dso_local void @st_align64_double_int32_t(i8* nocapture %ptr, double %str ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_int32_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_int32_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-LABEL: st_reg_double_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpsxws f0, f1 @@ -5841,9 +5794,8 @@ define dso_local void @st_reg_double_int32_t(i8* nocapture %ptr, i64 %off, doubl ; CHECK-NEXT: blr entry: %conv = fptosi double %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -5859,8 +5811,8 @@ entry: %conv = fptosi double %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5875,8 +5827,8 @@ define dso_local void @st_not_disjoint16_double_int32_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5893,8 +5845,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi double %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -5910,8 +5862,8 @@ define dso_local void @st_not_disjoint32_double_int32_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5949,8 +5901,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi double %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -5990,8 +5942,8 @@ define dso_local void @st_not_disjoint64_double_int32_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6019,8 +5971,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi double %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -6034,7 +5986,7 @@ define dso_local void @st_cst_align16_double_int32_t(double %str) { ; CHECK-NEXT: blr entry: %conv = fptosi double %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6056,7 +6008,7 @@ define dso_local void @st_cst_align32_double_int32_t(double %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi double %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6080,7 +6032,7 @@ define dso_local void @st_cst_align64_double_int32_t(double %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi double %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6099,13 +6051,13 @@ define dso_local void @st_0_double_uint64_t(i64 %ptr, double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_uint64_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_uint64_t(ptr nocapture %ptr, double %str) { ; CHECK-POSTP8-LABEL: st_align16_double_uint64_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxds v2, f1 @@ -6120,14 +6072,13 @@ define dso_local void @st_align16_double_uint64_t(i8* nocapture %ptr, double %st ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_uint64_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_uint64_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxds v2, f1 @@ -6143,14 +6094,13 @@ define dso_local void @st_align32_double_uint64_t(i8* nocapture %ptr, double %st ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_uint64_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_uint64_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxds f0, f1 @@ -6169,14 +6119,13 @@ define dso_local void @st_align64_double_uint64_t(i8* nocapture %ptr, double %st ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_uint64_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_uint64_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-LABEL: st_reg_double_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpuxds f0, f1 @@ -6184,9 +6133,8 @@ define dso_local void @st_reg_double_uint64_t(i8* nocapture %ptr, i64 %off, doub ; CHECK-NEXT: blr entry: %conv = fptoui double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -6209,8 +6157,8 @@ entry: %conv = fptoui double %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6232,8 +6180,8 @@ define dso_local void @st_not_disjoint16_double_uint64_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6257,8 +6205,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui double %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6282,8 +6230,8 @@ define dso_local void @st_not_disjoint32_double_uint64_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6320,8 +6268,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui double %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -6361,8 +6309,8 @@ define dso_local void @st_not_disjoint64_double_uint64_t(i64 %ptr, double %str) entry: %conv = fptoui double %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6390,8 +6338,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui double %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -6411,7 +6359,7 @@ define dso_local void @st_cst_align16_double_uint64_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6433,7 +6381,7 @@ define dso_local void @st_cst_align32_double_uint64_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6466,7 +6414,7 @@ define dso_local void @st_cst_align64_double_uint64_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui double %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6485,13 +6433,13 @@ define dso_local void @st_0_double_int64_t(i64 %ptr, double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_int64_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_int64_t(ptr nocapture %ptr, double %str) { ; CHECK-POSTP8-LABEL: st_align16_double_int64_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxds v2, f1 @@ -6506,14 +6454,13 @@ define dso_local void @st_align16_double_int64_t(i8* nocapture %ptr, double %str ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_int64_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_int64_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxds v2, f1 @@ -6529,14 +6476,13 @@ define dso_local void @st_align32_double_int64_t(i8* nocapture %ptr, double %str ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_int64_t(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_int64_t(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxds f0, f1 @@ -6555,14 +6501,13 @@ define dso_local void @st_align64_double_int64_t(i8* nocapture %ptr, double %str ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_int64_t(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_int64_t(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-LABEL: st_reg_double_int64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpsxds f0, f1 @@ -6570,9 +6515,8 @@ define dso_local void @st_reg_double_int64_t(i8* nocapture %ptr, i64 %off, doubl ; CHECK-NEXT: blr entry: %conv = fptosi double %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -6595,8 +6539,8 @@ entry: %conv = fptosi double %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6618,8 +6562,8 @@ define dso_local void @st_not_disjoint16_double_int64_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6643,8 +6587,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi double %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6668,8 +6612,8 @@ define dso_local void @st_not_disjoint32_double_int64_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6706,8 +6650,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi double %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -6747,8 +6691,8 @@ define dso_local void @st_not_disjoint64_double_int64_t(i64 %ptr, double %str) { entry: %conv = fptosi double %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6776,8 +6720,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi double %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -6797,7 +6741,7 @@ define dso_local void @st_cst_align16_double_int64_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6819,7 +6763,7 @@ define dso_local void @st_cst_align32_double_int64_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6852,7 +6796,7 @@ define dso_local void @st_cst_align64_double_int64_t(double %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi double %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6865,13 +6809,13 @@ define dso_local void @st_0_double_float(i64 %ptr, double %str) { ; CHECK-NEXT: blr entry: %conv = fptrunc double %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_float(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_float(ptr nocapture %ptr, double %str) { ; CHECK-LABEL: st_align16_double_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xsrsp f0, f1 @@ -6879,14 +6823,13 @@ define dso_local void @st_align16_double_float(i8* nocapture %ptr, double %str) ; CHECK-NEXT: blr entry: %conv = fptrunc double %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_float(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_float(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xsrsp f0, f1 @@ -6902,14 +6845,13 @@ define dso_local void @st_align32_double_float(i8* nocapture %ptr, double %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptrunc double %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_float(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_float(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xsrsp f0, f1 @@ -6928,14 +6870,13 @@ define dso_local void @st_align64_double_float(i8* nocapture %ptr, double %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptrunc double %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_float(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_float(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-LABEL: st_reg_double_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xsrsp f0, f1 @@ -6943,9 +6884,8 @@ define dso_local void @st_reg_double_float(i8* nocapture %ptr, i64 %off, double ; CHECK-NEXT: blr entry: %conv = fptrunc double %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -6961,8 +6901,8 @@ entry: %conv = fptrunc double %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6977,8 +6917,8 @@ define dso_local void @st_not_disjoint16_double_float(i64 %ptr, double %str) { entry: %conv = fptrunc double %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6994,8 +6934,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptrunc double %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -7011,8 +6951,8 @@ define dso_local void @st_not_disjoint32_double_float(i64 %ptr, double %str) { entry: %conv = fptrunc double %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7049,8 +6989,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptrunc double %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -7090,8 +7030,8 @@ define dso_local void @st_not_disjoint64_double_float(i64 %ptr, double %str) { entry: %conv = fptrunc double %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7119,8 +7059,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptrunc double %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -7133,7 +7073,7 @@ define dso_local void @st_cst_align16_double_float(double %str) { ; CHECK-NEXT: blr entry: %conv = fptrunc double %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7147,7 +7087,7 @@ define dso_local void @st_cst_align32_double_float(double %str) { ; CHECK-NEXT: blr entry: %conv = fptrunc double %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7171,7 +7111,7 @@ define dso_local void @st_cst_align64_double_float(double %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptrunc double %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7182,26 +7122,25 @@ define dso_local void @st_0_double_double(i64 %ptr, double %str) { ; CHECK-NEXT: stfd f1, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - store double %str, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %str, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_double_double(i8* nocapture %ptr, double %str) { +define dso_local void @st_align16_double_double(ptr nocapture %ptr, double %str) { ; CHECK-LABEL: st_align16_double_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stfd f1, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %str, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %str, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_double_double(i8* nocapture %ptr, double %str) { +define dso_local void @st_align32_double_double(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align32_double_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstfd f1, 99999000(r3), 0 @@ -7214,14 +7153,13 @@ define dso_local void @st_align32_double_double(i8* nocapture %ptr, double %str) ; CHECK-PREP10-NEXT: stfdx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %str, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %str, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_double_double(i8* nocapture %ptr, double %str) { +define dso_local void @st_align64_double_double(ptr nocapture %ptr, double %str) { ; CHECK-P10-LABEL: st_align64_double_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -7237,22 +7175,20 @@ define dso_local void @st_align64_double_double(i8* nocapture %ptr, double %str) ; CHECK-PREP10-NEXT: stfdx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %str, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %str, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_double_double(i8* nocapture %ptr, i64 %off, double %str) { +define dso_local void @st_reg_double_double(ptr nocapture %ptr, i64 %off, double %str) { ; CHECK-LABEL: st_reg_double_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stfdx f1, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %str, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %str, ptr %add.ptr, align 8 ret void } @@ -7266,8 +7202,8 @@ define dso_local void @st_or1_double_double(i64 %ptr, i8 zeroext %off, double %s entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 8 ret void } @@ -7280,8 +7216,8 @@ define dso_local void @st_not_disjoint16_double_double(i64 %ptr, double %str) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 8 ret void } @@ -7295,8 +7231,8 @@ define dso_local void @st_disjoint_align16_double_double(i64 %ptr, double %str) entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 8 ret void } @@ -7310,8 +7246,8 @@ define dso_local void @st_not_disjoint32_double_double(i64 %ptr, double %str) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 8 ret void } @@ -7344,8 +7280,8 @@ define dso_local void @st_disjoint_align32_double_double(i64 %ptr, double %str) entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 16 ret void } @@ -7371,8 +7307,8 @@ define dso_local void @st_not_disjoint64_double_double(i64 %ptr, double %str) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 8 ret void } @@ -7397,8 +7333,8 @@ define dso_local void @st_disjoint_align64_double_double(i64 %ptr, double %str) entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %str, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %str, ptr %0, align 4096 ret void } @@ -7409,7 +7345,7 @@ define dso_local void @st_cst_align16_double_double(double %str) { ; CHECK-NEXT: stfd f1, 4080(0) ; CHECK-NEXT: blr entry: - store double %str, double* inttoptr (i64 4080 to double*), align 16 + store double %str, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7421,7 +7357,7 @@ define dso_local void @st_cst_align32_double_double(double %str) { ; CHECK-NEXT: stfd f1, -27108(r3) ; CHECK-NEXT: blr entry: - store double %str, double* inttoptr (i64 9999900 to double*), align 8 + store double %str, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7442,6 +7378,6 @@ define dso_local void @st_cst_align64_double_double(double %str) { ; CHECK-PREP10-NEXT: stfd f1, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - store double %str, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %str, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } diff --git a/llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll b/llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll index b2c2109..c3115b9 100644 --- a/llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll +++ b/llvm/test/CodeGen/PowerPC/scalar-float-ldst.ll @@ -33,14 +33,14 @@ define dso_local float @ld_0_float_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_uint8_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_float_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -55,14 +55,14 @@ define dso_local float @ld_align16_float_uint8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_uint8_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -87,14 +87,14 @@ define dso_local float @ld_align32_float_uint8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_uint8_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -122,14 +122,14 @@ define dso_local float @ld_align64_float_uint8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_float_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsibzx f0, r3, r4 @@ -143,8 +143,8 @@ define dso_local float @ld_reg_float_uint8_t(i8* nocapture readonly %ptr, i64 %o ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = uitofp i8 %0 to float ret float %conv } @@ -168,8 +168,8 @@ define dso_local float @ld_or_float_uint8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = uitofp i8 %1 to float ret float %conv1 } @@ -192,8 +192,8 @@ define dso_local float @ld_not_disjoint16_float_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to float ret float %conv } @@ -218,8 +218,8 @@ define dso_local float @ld_disjoint_align16_float_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = uitofp i8 %1 to float ret float %conv } @@ -244,8 +244,8 @@ define dso_local float @ld_not_disjoint32_float_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to float ret float %conv } @@ -284,8 +284,8 @@ define dso_local float @ld_disjoint_align32_float_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = uitofp i8 %1 to float ret float %conv } @@ -326,8 +326,8 @@ define dso_local float @ld_not_disjoint64_float_uint8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = uitofp i8 %1 to float ret float %conv } @@ -366,8 +366,8 @@ define dso_local float @ld_disjoint_align64_float_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = uitofp i8 %1 to float ret float %conv } @@ -388,7 +388,7 @@ define dso_local float @ld_cst_align16_float_uint8_t() { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i8 %0 to float ret float %conv } @@ -418,7 +418,7 @@ define dso_local float @ld_cst_align32_float_uint8_t() { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = uitofp i8 %0 to float ret float %conv } @@ -452,7 +452,7 @@ define dso_local float @ld_cst_align64_float_uint8_t() { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i8 %0 to float ret float %conv } @@ -474,14 +474,14 @@ define dso_local float @ld_0_float_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_int8_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_int8_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_float_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -498,14 +498,14 @@ define dso_local float @ld_align16_float_int8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_int8_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -533,14 +533,14 @@ define dso_local float @ld_align32_float_int8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_int8_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -571,14 +571,14 @@ define dso_local float @ld_align64_float_int8_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_float_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsibzx v2, r3, r4 @@ -594,8 +594,8 @@ define dso_local float @ld_reg_float_int8_t(i8* nocapture readonly %ptr, i64 %of ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sitofp i8 %0 to float ret float %conv } @@ -621,8 +621,8 @@ define dso_local float @ld_or_float_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sitofp i8 %1 to float ret float %conv1 } @@ -647,8 +647,8 @@ define dso_local float @ld_not_disjoint16_float_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to float ret float %conv } @@ -675,8 +675,8 @@ define dso_local float @ld_disjoint_align16_float_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sitofp i8 %1 to float ret float %conv } @@ -703,8 +703,8 @@ define dso_local float @ld_not_disjoint32_float_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to float ret float %conv } @@ -746,8 +746,8 @@ define dso_local float @ld_disjoint_align32_float_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sitofp i8 %1 to float ret float %conv } @@ -791,8 +791,8 @@ define dso_local float @ld_not_disjoint64_float_int8_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sitofp i8 %1 to float ret float %conv } @@ -834,8 +834,8 @@ define dso_local float @ld_disjoint_align64_float_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sitofp i8 %1 to float ret float %conv } @@ -858,7 +858,7 @@ define dso_local float @ld_cst_align16_float_int8_t() { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i8 %0 to float ret float %conv } @@ -891,7 +891,7 @@ define dso_local float @ld_cst_align32_float_int8_t() { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sitofp i8 %0 to float ret float %conv } @@ -928,7 +928,7 @@ define dso_local float @ld_cst_align64_float_int8_t() { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i8 %0 to float ret float %conv } @@ -948,14 +948,14 @@ define dso_local float @ld_0_float_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_uint16_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_float_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -970,15 +970,14 @@ define dso_local float @ld_align16_float_uint16_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_uint16_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -1003,15 +1002,14 @@ define dso_local float @ld_align32_float_uint16_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_uint16_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1039,15 +1037,14 @@ define dso_local float @ld_align64_float_uint16_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_float_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsihzx f0, r3, r4 @@ -1061,10 +1058,9 @@ define dso_local float @ld_reg_float_uint16_t(i8* nocapture readonly %ptr, i64 % ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = uitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = uitofp i16 %0 to float ret float %conv } @@ -1087,8 +1083,8 @@ define dso_local float @ld_or_float_uint16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = uitofp i16 %1 to float ret float %conv1 } @@ -1111,8 +1107,8 @@ define dso_local float @ld_not_disjoint16_float_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to float ret float %conv } @@ -1137,8 +1133,8 @@ define dso_local float @ld_disjoint_align16_float_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = uitofp i16 %1 to float ret float %conv } @@ -1163,8 +1159,8 @@ define dso_local float @ld_not_disjoint32_float_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to float ret float %conv } @@ -1203,8 +1199,8 @@ define dso_local float @ld_disjoint_align32_float_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = uitofp i16 %1 to float ret float %conv } @@ -1245,8 +1241,8 @@ define dso_local float @ld_not_disjoint64_float_uint16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = uitofp i16 %1 to float ret float %conv } @@ -1285,8 +1281,8 @@ define dso_local float @ld_disjoint_align64_float_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = uitofp i16 %1 to float ret float %conv } @@ -1307,7 +1303,7 @@ define dso_local float @ld_cst_align16_float_uint16_t() { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i16 %0 to float ret float %conv } @@ -1337,7 +1333,7 @@ define dso_local float @ld_cst_align32_float_uint16_t() { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = uitofp i16 %0 to float ret float %conv } @@ -1371,7 +1367,7 @@ define dso_local float @ld_cst_align64_float_uint16_t() { ; CHECK-P8-NEXT: xscvuxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i16 %0 to float ret float %conv } @@ -1392,14 +1388,14 @@ define dso_local float @ld_0_float_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_int16_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_int16_t(ptr nocapture readonly %ptr) { ; CHECK-POSTP8-LABEL: ld_align16_float_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: addi r3, r3, 8 @@ -1415,15 +1411,14 @@ define dso_local float @ld_align16_float_int16_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_int16_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -1450,15 +1445,14 @@ define dso_local float @ld_align32_float_int16_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_int16_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1488,15 +1482,14 @@ define dso_local float @ld_align64_float_int16_t(i8* nocapture readonly %ptr) { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_int16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_int16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-POSTP8-LABEL: ld_reg_float_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: lxsihzx v2, r3, r4 @@ -1511,10 +1504,9 @@ define dso_local float @ld_reg_float_int16_t(i8* nocapture readonly %ptr, i64 %o ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sitofp i16 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = sitofp i16 %0 to float ret float %conv } @@ -1538,8 +1530,8 @@ define dso_local float @ld_or_float_int16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sitofp i16 %1 to float ret float %conv1 } @@ -1563,8 +1555,8 @@ define dso_local float @ld_not_disjoint16_float_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to float ret float %conv } @@ -1590,8 +1582,8 @@ define dso_local float @ld_disjoint_align16_float_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = sitofp i16 %1 to float ret float %conv } @@ -1617,8 +1609,8 @@ define dso_local float @ld_not_disjoint32_float_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to float ret float %conv } @@ -1659,8 +1651,8 @@ define dso_local float @ld_disjoint_align32_float_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = sitofp i16 %1 to float ret float %conv } @@ -1703,8 +1695,8 @@ define dso_local float @ld_not_disjoint64_float_int16_t(i64 %ptr) { ; CHECK-P8-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sitofp i16 %1 to float ret float %conv } @@ -1745,8 +1737,8 @@ define dso_local float @ld_disjoint_align64_float_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = sitofp i16 %1 to float ret float %conv } @@ -1768,7 +1760,7 @@ define dso_local float @ld_cst_align16_float_int16_t() { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i16 %0 to float ret float %conv } @@ -1800,7 +1792,7 @@ define dso_local float @ld_cst_align32_float_int16_t() { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sitofp i16 %0 to float ret float %conv } @@ -1836,7 +1828,7 @@ define dso_local float @ld_cst_align64_float_int16_t() { ; CHECK-P8-NEXT: xscvsxdsp f1, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i16 %0 to float ret float %conv } @@ -1849,14 +1841,14 @@ define dso_local float @ld_0_float_uint32_t(i64 %ptr) { ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_uint32_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_float_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: addi r3, r3, 8 @@ -1864,15 +1856,14 @@ define dso_local float @ld_align16_float_uint32_t(i8* nocapture readonly %ptr) { ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_uint32_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -1888,15 +1879,14 @@ define dso_local float @ld_align32_float_uint32_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_uint32_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1914,25 +1904,23 @@ define dso_local float @ld_align64_float_uint32_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_float_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfiwzx f0, r3, r4 ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = uitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = uitofp i32 %0 to float ret float %conv } @@ -1947,8 +1935,8 @@ define dso_local float @ld_or_float_uint32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = uitofp i32 %1 to float ret float %conv1 } @@ -1963,8 +1951,8 @@ define dso_local float @ld_not_disjoint16_float_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to float ret float %conv } @@ -1981,8 +1969,8 @@ define dso_local float @ld_disjoint_align16_float_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = uitofp i32 %1 to float ret float %conv } @@ -1998,8 +1986,8 @@ define dso_local float @ld_not_disjoint32_float_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to float ret float %conv } @@ -2037,8 +2025,8 @@ define dso_local float @ld_disjoint_align32_float_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = uitofp i32 %1 to float ret float %conv } @@ -2067,8 +2055,8 @@ define dso_local float @ld_not_disjoint64_float_uint32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = uitofp i32 %1 to float ret float %conv } @@ -2096,8 +2084,8 @@ define dso_local float @ld_disjoint_align64_float_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = uitofp i32 %1 to float ret float %conv } @@ -2111,7 +2099,7 @@ define dso_local float @ld_cst_align16_float_uint32_t() { ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i32 %0 to float ret float %conv } @@ -2133,7 +2121,7 @@ define dso_local float @ld_cst_align32_float_uint32_t() { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = uitofp i32 %0 to float ret float %conv } @@ -2157,7 +2145,7 @@ define dso_local float @ld_cst_align64_float_uint32_t() { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i32 %0 to float ret float %conv } @@ -2170,14 +2158,14 @@ define dso_local float @ld_0_float_int32_t(i64 %ptr) { ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_int32_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_int32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_float_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: addi r3, r3, 8 @@ -2185,15 +2173,14 @@ define dso_local float @ld_align16_float_int32_t(i8* nocapture readonly %ptr) { ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_int32_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 99999000 @@ -2209,15 +2196,14 @@ define dso_local float @ld_align32_float_int32_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_int32_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2235,25 +2221,23 @@ define dso_local float @ld_align64_float_int32_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_int32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_int32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_float_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfiwax f0, r3, r4 ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sitofp i32 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = sitofp i32 %0 to float ret float %conv } @@ -2268,8 +2252,8 @@ define dso_local float @ld_or_float_int32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = sitofp i32 %1 to float ret float %conv1 } @@ -2284,8 +2268,8 @@ define dso_local float @ld_not_disjoint16_float_int32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to float ret float %conv } @@ -2302,8 +2286,8 @@ define dso_local float @ld_disjoint_align16_float_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = sitofp i32 %1 to float ret float %conv } @@ -2319,8 +2303,8 @@ define dso_local float @ld_not_disjoint32_float_int32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to float ret float %conv } @@ -2358,8 +2342,8 @@ define dso_local float @ld_disjoint_align32_float_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = sitofp i32 %1 to float ret float %conv } @@ -2388,8 +2372,8 @@ define dso_local float @ld_not_disjoint64_float_int32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sitofp i32 %1 to float ret float %conv } @@ -2417,8 +2401,8 @@ define dso_local float @ld_disjoint_align64_float_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = sitofp i32 %1 to float ret float %conv } @@ -2432,7 +2416,7 @@ define dso_local float @ld_cst_align16_float_int32_t() { ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i32 %0 to float ret float %conv } @@ -2454,7 +2438,7 @@ define dso_local float @ld_cst_align32_float_int32_t() { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sitofp i32 %0 to float ret float %conv } @@ -2478,7 +2462,7 @@ define dso_local float @ld_cst_align64_float_int32_t() { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i32 %0 to float ret float %conv } @@ -2491,29 +2475,28 @@ define dso_local float @ld_0_float_uint64_t(i64 %ptr) { ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_uint64_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_float_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_uint64_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2528,15 +2511,14 @@ define dso_local float @ld_align32_float_uint64_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_uint64_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2554,25 +2536,23 @@ define dso_local float @ld_align64_float_uint64_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_float_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = uitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = uitofp i64 %0 to float ret float %conv } @@ -2587,8 +2567,8 @@ define dso_local float @ld_or_float_uint64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = uitofp i64 %1 to float ret float %conv1 } @@ -2603,8 +2583,8 @@ define dso_local float @ld_not_disjoint16_float_uint64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to float ret float %conv } @@ -2620,8 +2600,8 @@ define dso_local float @ld_disjoint_align16_float_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to float ret float %conv } @@ -2637,8 +2617,8 @@ define dso_local float @ld_not_disjoint32_float_uint64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to float ret float %conv } @@ -2675,8 +2655,8 @@ define dso_local float @ld_disjoint_align32_float_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = uitofp i64 %1 to float ret float %conv } @@ -2705,8 +2685,8 @@ define dso_local float @ld_not_disjoint64_float_uint64_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = uitofp i64 %1 to float ret float %conv } @@ -2734,8 +2714,8 @@ define dso_local float @ld_disjoint_align64_float_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = uitofp i64 %1 to float ret float %conv } @@ -2748,7 +2728,7 @@ define dso_local float @ld_cst_align16_float_uint64_t() { ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = uitofp i64 %0 to float ret float %conv } @@ -2762,7 +2742,7 @@ define dso_local float @ld_cst_align32_float_uint64_t() { ; CHECK-NEXT: xscvuxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = uitofp i64 %0 to float ret float %conv } @@ -2786,7 +2766,7 @@ define dso_local float @ld_cst_align64_float_uint64_t() { ; CHECK-PREP10-NEXT: xscvuxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = uitofp i64 %0 to float ret float %conv } @@ -2799,29 +2779,28 @@ define dso_local float @ld_0_float_int64_t(i64 %ptr) { ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_int64_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_int64_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_float_int64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_int64_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_int64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2836,15 +2815,14 @@ define dso_local float @ld_align32_float_int64_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_int64_t(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_int64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2862,25 +2840,23 @@ define dso_local float @ld_align64_float_int64_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_int64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_int64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_float_int64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = sitofp i64 %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = sitofp i64 %0 to float ret float %conv } @@ -2895,8 +2871,8 @@ define dso_local float @ld_or_float_int64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = sitofp i64 %1 to float ret float %conv1 } @@ -2911,8 +2887,8 @@ define dso_local float @ld_not_disjoint16_float_int64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to float ret float %conv } @@ -2928,8 +2904,8 @@ define dso_local float @ld_disjoint_align16_float_int64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to float ret float %conv } @@ -2945,8 +2921,8 @@ define dso_local float @ld_not_disjoint32_float_int64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to float ret float %conv } @@ -2983,8 +2959,8 @@ define dso_local float @ld_disjoint_align32_float_int64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = sitofp i64 %1 to float ret float %conv } @@ -3013,8 +2989,8 @@ define dso_local float @ld_not_disjoint64_float_int64_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = sitofp i64 %1 to float ret float %conv } @@ -3042,8 +3018,8 @@ define dso_local float @ld_disjoint_align64_float_int64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = sitofp i64 %1 to float ret float %conv } @@ -3056,7 +3032,7 @@ define dso_local float @ld_cst_align16_float_int64_t() { ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sitofp i64 %0 to float ret float %conv } @@ -3070,7 +3046,7 @@ define dso_local float @ld_cst_align32_float_int64_t() { ; CHECK-NEXT: xscvsxdsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = sitofp i64 %0 to float ret float %conv } @@ -3094,7 +3070,7 @@ define dso_local float @ld_cst_align64_float_int64_t() { ; CHECK-PREP10-NEXT: xscvsxdsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sitofp i64 %0 to float ret float %conv } @@ -3106,26 +3082,25 @@ define dso_local float @ld_0_float_float(i64 %ptr) { ; CHECK-NEXT: lfs f1, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 ret float %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_float(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_float_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f1, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - ret float %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + ret float %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_float(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f1, 99999000(r3), 0 @@ -3138,14 +3113,13 @@ define dso_local float @ld_align32_float_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lfsx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - ret float %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + ret float %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_float(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3161,23 +3135,21 @@ define dso_local float @ld_align64_float_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lfsx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - ret float %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + ret float %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_float_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f1, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - ret float %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + ret float %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -3190,8 +3162,8 @@ define dso_local float @ld_or_float_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 ret float %1 } @@ -3204,8 +3176,8 @@ define dso_local float @ld_not_disjoint16_float_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 ret float %1 } @@ -3219,8 +3191,8 @@ define dso_local float @ld_disjoint_align16_float_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 ret float %1 } @@ -3234,8 +3206,8 @@ define dso_local float @ld_not_disjoint32_float_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 ret float %1 } @@ -3268,8 +3240,8 @@ define dso_local float @ld_disjoint_align32_float_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 ret float %1 } @@ -3295,8 +3267,8 @@ define dso_local float @ld_not_disjoint64_float_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 ret float %1 } @@ -3321,8 +3293,8 @@ define dso_local float @ld_disjoint_align64_float_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 ret float %1 } @@ -3333,7 +3305,7 @@ define dso_local float @ld_cst_align16_float_float() { ; CHECK-NEXT: lfs f1, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 ret float %0 } @@ -3345,7 +3317,7 @@ define dso_local float @ld_cst_align32_float_float() { ; CHECK-NEXT: lfs f1, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 ret float %0 } @@ -3366,7 +3338,7 @@ define dso_local float @ld_cst_align64_float_float() { ; CHECK-PREP10-NEXT: lfs f1, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret float %0 } @@ -3378,29 +3350,28 @@ define dso_local float @ld_0_float_double(i64 %ptr) { ; CHECK-NEXT: xsrsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptrunc double %1 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align16_float_double(i8* nocapture readonly %ptr) { +define dso_local float @ld_align16_float_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_float_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) ; CHECK-NEXT: xsrsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptrunc double %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptrunc double %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align32_float_double(i8* nocapture readonly %ptr) { +define dso_local float @ld_align32_float_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_float_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -3415,15 +3386,14 @@ define dso_local float @ld_align32_float_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xsrsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptrunc double %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptrunc double %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_align64_float_double(i8* nocapture readonly %ptr) { +define dso_local float @ld_align64_float_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_float_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3441,25 +3411,23 @@ define dso_local float @ld_align64_float_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: xsrsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptrunc double %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptrunc double %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local float @ld_reg_float_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local float @ld_reg_float_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_float_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 ; CHECK-NEXT: xsrsp f1, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptrunc double %1 to float + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptrunc double %0 to float ret float %conv } @@ -3474,8 +3442,8 @@ define dso_local float @ld_or_float_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptrunc double %1 to float ret float %conv1 } @@ -3490,8 +3458,8 @@ define dso_local float @ld_not_disjoint16_float_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptrunc double %1 to float ret float %conv } @@ -3507,8 +3475,8 @@ define dso_local float @ld_disjoint_align16_float_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptrunc double %1 to float ret float %conv } @@ -3524,8 +3492,8 @@ define dso_local float @ld_not_disjoint32_float_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptrunc double %1 to float ret float %conv } @@ -3562,8 +3530,8 @@ define dso_local float @ld_disjoint_align32_float_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptrunc double %1 to float ret float %conv } @@ -3592,8 +3560,8 @@ define dso_local float @ld_not_disjoint64_float_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptrunc double %1 to float ret float %conv } @@ -3621,8 +3589,8 @@ define dso_local float @ld_disjoint_align64_float_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptrunc double %1 to float ret float %conv } @@ -3635,7 +3603,7 @@ define dso_local float @ld_cst_align16_float_double() { ; CHECK-NEXT: xsrsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptrunc double %0 to float ret float %conv } @@ -3649,7 +3617,7 @@ define dso_local float @ld_cst_align32_float_double() { ; CHECK-NEXT: xsrsp f1, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptrunc double %0 to float ret float %conv } @@ -3673,7 +3641,7 @@ define dso_local float @ld_cst_align64_float_double() { ; CHECK-PREP10-NEXT: xsrsp f1, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptrunc double %0 to float ret float %conv } @@ -3694,13 +3662,13 @@ define dso_local void @st_0_float_uint8_t(i64 %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_uint8_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_uint8_t(ptr nocapture %ptr, float %str) { ; CHECK-POSTP8-LABEL: st_align16_float_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -3716,13 +3684,13 @@ define dso_local void @st_align16_float_uint8_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_uint8_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_uint8_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -3748,13 +3716,13 @@ define dso_local void @st_align32_float_uint8_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_uint8_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_uint8_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -3783,13 +3751,13 @@ define dso_local void @st_align64_float_uint8_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_uint8_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_uint8_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-POSTP8-LABEL: st_reg_float_uint8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -3804,8 +3772,8 @@ define dso_local void @st_reg_float_uint8_t(i8* nocapture %ptr, i64 %off, float ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -3829,8 +3797,8 @@ entry: %conv = fptoui float %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -3853,8 +3821,8 @@ define dso_local void @st_not_disjoint16_float_uint8_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -3879,8 +3847,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui float %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -3905,8 +3873,8 @@ define dso_local void @st_not_disjoint32_float_uint8_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -3945,8 +3913,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui float %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -3987,8 +3955,8 @@ define dso_local void @st_not_disjoint64_float_uint8_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4027,8 +3995,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui float %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -4049,7 +4017,7 @@ define dso_local void @st_cst_align16_float_uint8_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -4079,7 +4047,7 @@ define dso_local void @st_cst_align32_float_uint8_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -4113,7 +4081,7 @@ define dso_local void @st_cst_align64_float_uint8_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -4133,13 +4101,13 @@ define dso_local void @st_0_float_int8_t(i64 %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_int8_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_int8_t(ptr nocapture %ptr, float %str) { ; CHECK-POSTP8-LABEL: st_align16_float_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -4155,13 +4123,13 @@ define dso_local void @st_align16_float_int8_t(i8* nocapture %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_int8_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_int8_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -4187,13 +4155,13 @@ define dso_local void @st_align32_float_int8_t(i8* nocapture %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_int8_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_int8_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -4222,13 +4190,13 @@ define dso_local void @st_align64_float_int8_t(i8* nocapture %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_int8_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_int8_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-POSTP8-LABEL: st_reg_float_int8_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -4243,8 +4211,8 @@ define dso_local void @st_reg_float_int8_t(i8* nocapture %ptr, i64 %off, float % ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -4268,8 +4236,8 @@ entry: %conv = fptosi float %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4292,8 +4260,8 @@ define dso_local void @st_not_disjoint16_float_int8_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4318,8 +4286,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi float %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -4344,8 +4312,8 @@ define dso_local void @st_not_disjoint32_float_int8_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4384,8 +4352,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi float %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -4426,8 +4394,8 @@ define dso_local void @st_not_disjoint64_float_int8_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -4466,8 +4434,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi float %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -4488,7 +4456,7 @@ define dso_local void @st_cst_align16_float_int8_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -4518,7 +4486,7 @@ define dso_local void @st_cst_align32_float_int8_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -4552,7 +4520,7 @@ define dso_local void @st_cst_align64_float_int8_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -4572,13 +4540,13 @@ define dso_local void @st_0_float_uint16_t(i64 %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_uint16_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_uint16_t(ptr nocapture %ptr, float %str) { ; CHECK-POSTP8-LABEL: st_align16_float_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -4594,14 +4562,13 @@ define dso_local void @st_align16_float_uint16_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_uint16_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_uint16_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -4627,14 +4594,13 @@ define dso_local void @st_align32_float_uint16_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_uint16_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_uint16_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -4663,14 +4629,13 @@ define dso_local void @st_align64_float_uint16_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_uint16_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_uint16_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-POSTP8-LABEL: st_reg_float_uint16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxws f0, f1 @@ -4685,9 +4650,8 @@ define dso_local void @st_reg_float_uint16_t(i8* nocapture %ptr, i64 %off, float ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -4711,8 +4675,8 @@ entry: %conv = fptoui float %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4735,8 +4699,8 @@ define dso_local void @st_not_disjoint16_float_uint16_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4761,8 +4725,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui float %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -4787,8 +4751,8 @@ define dso_local void @st_not_disjoint32_float_uint16_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4827,8 +4791,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui float %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -4869,8 +4833,8 @@ define dso_local void @st_not_disjoint64_float_uint16_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -4909,8 +4873,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui float %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -4931,7 +4895,7 @@ define dso_local void @st_cst_align16_float_uint16_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -4961,7 +4925,7 @@ define dso_local void @st_cst_align32_float_uint16_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -4995,7 +4959,7 @@ define dso_local void @st_cst_align64_float_uint16_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5015,13 +4979,13 @@ define dso_local void @st_0_float_int16_t(i64 %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_int16_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_int16_t(ptr nocapture %ptr, float %str) { ; CHECK-POSTP8-LABEL: st_align16_float_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -5037,14 +5001,13 @@ define dso_local void @st_align16_float_int16_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_int16_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_int16_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5070,14 +5033,13 @@ define dso_local void @st_align32_float_int16_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_int16_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_int16_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5106,14 +5068,13 @@ define dso_local void @st_align64_float_int16_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_int16_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_int16_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-POSTP8-LABEL: st_reg_float_int16_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxws f0, f1 @@ -5128,9 +5089,8 @@ define dso_local void @st_reg_float_int16_t(i8* nocapture %ptr, i64 %off, float ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -5154,8 +5114,8 @@ entry: %conv = fptosi float %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5178,8 +5138,8 @@ define dso_local void @st_not_disjoint16_float_int16_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5204,8 +5164,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi float %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -5230,8 +5190,8 @@ define dso_local void @st_not_disjoint32_float_int16_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5270,8 +5230,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi float %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -5312,8 +5272,8 @@ define dso_local void @st_not_disjoint64_float_int16_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5352,8 +5312,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi float %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -5374,7 +5334,7 @@ define dso_local void @st_cst_align16_float_int16_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5404,7 +5364,7 @@ define dso_local void @st_cst_align32_float_int16_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5438,7 +5398,7 @@ define dso_local void @st_cst_align64_float_int16_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5451,13 +5411,13 @@ define dso_local void @st_0_float_uint32_t(i64 %ptr, float %str) { ; CHECK-NEXT: blr entry: %conv = fptoui float %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_uint32_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_uint32_t(ptr nocapture %ptr, float %str) { ; CHECK-LABEL: st_align16_float_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpuxws f0, f1 @@ -5466,14 +5426,13 @@ define dso_local void @st_align16_float_uint32_t(i8* nocapture %ptr, float %str) ; CHECK-NEXT: blr entry: %conv = fptoui float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_uint32_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_uint32_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -5490,14 +5449,13 @@ define dso_local void @st_align32_float_uint32_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_uint32_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_uint32_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxws f0, f1 @@ -5516,14 +5474,13 @@ define dso_local void @st_align64_float_uint32_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_uint32_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_uint32_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-LABEL: st_reg_float_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpuxws f0, f1 @@ -5531,9 +5488,8 @@ define dso_local void @st_reg_float_uint32_t(i8* nocapture %ptr, i64 %off, float ; CHECK-NEXT: blr entry: %conv = fptoui float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -5549,8 +5505,8 @@ entry: %conv = fptoui float %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5565,8 +5521,8 @@ define dso_local void @st_not_disjoint16_float_uint32_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5583,8 +5539,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui float %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -5600,8 +5556,8 @@ define dso_local void @st_not_disjoint32_float_uint32_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5639,8 +5595,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui float %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -5680,8 +5636,8 @@ define dso_local void @st_not_disjoint64_float_uint32_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5709,8 +5665,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui float %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -5724,7 +5680,7 @@ define dso_local void @st_cst_align16_float_uint32_t(float %str) { ; CHECK-NEXT: blr entry: %conv = fptoui float %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5746,7 +5702,7 @@ define dso_local void @st_cst_align32_float_uint32_t(float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui float %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5770,7 +5726,7 @@ define dso_local void @st_cst_align64_float_uint32_t(float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui float %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5783,13 +5739,13 @@ define dso_local void @st_0_float_int32_t(i64 %ptr, float %str) { ; CHECK-NEXT: blr entry: %conv = fptosi float %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_int32_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_int32_t(ptr nocapture %ptr, float %str) { ; CHECK-LABEL: st_align16_float_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpsxws f0, f1 @@ -5798,14 +5754,13 @@ define dso_local void @st_align16_float_int32_t(i8* nocapture %ptr, float %str) ; CHECK-NEXT: blr entry: %conv = fptosi float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_int32_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_int32_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5822,14 +5777,13 @@ define dso_local void @st_align32_float_int32_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_int32_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_int32_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxws f0, f1 @@ -5848,14 +5802,13 @@ define dso_local void @st_align64_float_int32_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_int32_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_int32_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-LABEL: st_reg_float_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpsxws f0, f1 @@ -5863,9 +5816,8 @@ define dso_local void @st_reg_float_int32_t(i8* nocapture %ptr, i64 %off, float ; CHECK-NEXT: blr entry: %conv = fptosi float %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -5881,8 +5833,8 @@ entry: %conv = fptosi float %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5897,8 +5849,8 @@ define dso_local void @st_not_disjoint16_float_int32_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5915,8 +5867,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi float %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -5932,8 +5884,8 @@ define dso_local void @st_not_disjoint32_float_int32_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5971,8 +5923,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi float %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -6012,8 +5964,8 @@ define dso_local void @st_not_disjoint64_float_int32_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6041,8 +5993,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi float %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -6056,7 +6008,7 @@ define dso_local void @st_cst_align16_float_int32_t(float %str) { ; CHECK-NEXT: blr entry: %conv = fptosi float %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6078,7 +6030,7 @@ define dso_local void @st_cst_align32_float_int32_t(float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi float %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6102,7 +6054,7 @@ define dso_local void @st_cst_align64_float_int32_t(float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi float %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6121,13 +6073,13 @@ define dso_local void @st_0_float_uint64_t(i64 %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_uint64_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_uint64_t(ptr nocapture %ptr, float %str) { ; CHECK-POSTP8-LABEL: st_align16_float_uint64_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpuxds v2, f1 @@ -6142,14 +6094,13 @@ define dso_local void @st_align16_float_uint64_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_uint64_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_uint64_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxds v2, f1 @@ -6165,14 +6116,13 @@ define dso_local void @st_align32_float_uint64_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_uint64_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_uint64_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpuxds f0, f1 @@ -6191,14 +6141,13 @@ define dso_local void @st_align64_float_uint64_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptoui float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_uint64_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_uint64_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-LABEL: st_reg_float_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpuxds f0, f1 @@ -6206,9 +6155,8 @@ define dso_local void @st_reg_float_uint64_t(i8* nocapture %ptr, i64 %off, float ; CHECK-NEXT: blr entry: %conv = fptoui float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -6231,8 +6179,8 @@ entry: %conv = fptoui float %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6254,8 +6202,8 @@ define dso_local void @st_not_disjoint16_float_uint64_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6279,8 +6227,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptoui float %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6304,8 +6252,8 @@ define dso_local void @st_not_disjoint32_float_uint64_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6342,8 +6290,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptoui float %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -6383,8 +6331,8 @@ define dso_local void @st_not_disjoint64_float_uint64_t(i64 %ptr, float %str) { entry: %conv = fptoui float %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6412,8 +6360,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptoui float %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -6433,7 +6381,7 @@ define dso_local void @st_cst_align16_float_uint64_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6455,7 +6403,7 @@ define dso_local void @st_cst_align32_float_uint64_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6488,7 +6436,7 @@ define dso_local void @st_cst_align64_float_uint64_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptoui float %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6507,13 +6455,13 @@ define dso_local void @st_0_float_int64_t(i64 %ptr, float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_int64_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_int64_t(ptr nocapture %ptr, float %str) { ; CHECK-POSTP8-LABEL: st_align16_float_int64_t: ; CHECK-POSTP8: # %bb.0: # %entry ; CHECK-POSTP8-NEXT: xscvdpsxds v2, f1 @@ -6528,14 +6476,13 @@ define dso_local void @st_align16_float_int64_t(i8* nocapture %ptr, float %str) ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_int64_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_int64_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxds v2, f1 @@ -6551,14 +6498,13 @@ define dso_local void @st_align32_float_int64_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_int64_t(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_int64_t(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_int64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: xscvdpsxds f0, f1 @@ -6577,14 +6523,13 @@ define dso_local void @st_align64_float_int64_t(i8* nocapture %ptr, float %str) ; CHECK-PREP10-NEXT: blr entry: %conv = fptosi float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_int64_t(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_int64_t(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-LABEL: st_reg_float_int64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: xscvdpsxds f0, f1 @@ -6592,9 +6537,8 @@ define dso_local void @st_reg_float_int64_t(i8* nocapture %ptr, i64 %off, float ; CHECK-NEXT: blr entry: %conv = fptosi float %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -6617,8 +6561,8 @@ entry: %conv = fptosi float %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6640,8 +6584,8 @@ define dso_local void @st_not_disjoint16_float_int64_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6665,8 +6609,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fptosi float %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6690,8 +6634,8 @@ define dso_local void @st_not_disjoint32_float_int64_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6728,8 +6672,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fptosi float %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -6769,8 +6713,8 @@ define dso_local void @st_not_disjoint64_float_int64_t(i64 %ptr, float %str) { entry: %conv = fptosi float %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6798,8 +6742,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fptosi float %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -6819,7 +6763,7 @@ define dso_local void @st_cst_align16_float_int64_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6841,7 +6785,7 @@ define dso_local void @st_cst_align32_float_int64_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6874,7 +6818,7 @@ define dso_local void @st_cst_align64_float_int64_t(float %str) { ; CHECK-P8-NEXT: blr entry: %conv = fptosi float %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6885,26 +6829,25 @@ define dso_local void @st_0_float_float(i64 %ptr, float %str) { ; CHECK-NEXT: stfs f1, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - store float %str, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %str, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_float(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_float(ptr nocapture %ptr, float %str) { ; CHECK-LABEL: st_align16_float_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stfs f1, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %str, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %str, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_float(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_float(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstfs f1, 99999000(r3), 0 @@ -6917,14 +6860,13 @@ define dso_local void @st_align32_float_float(i8* nocapture %ptr, float %str) { ; CHECK-PREP10-NEXT: stfsx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %str, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %str, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_float(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_float(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -6940,22 +6882,20 @@ define dso_local void @st_align64_float_float(i8* nocapture %ptr, float %str) { ; CHECK-PREP10-NEXT: stfsx f1, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %str, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %str, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_float(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_float(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-LABEL: st_reg_float_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stfsx f1, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %str, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %str, ptr %add.ptr, align 4 ret void } @@ -6969,8 +6909,8 @@ define dso_local void @st_or1_float_float(i64 %ptr, i8 zeroext %off, float %str) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 4 ret void } @@ -6983,8 +6923,8 @@ define dso_local void @st_not_disjoint16_float_float(i64 %ptr, float %str) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 4 ret void } @@ -6998,8 +6938,8 @@ define dso_local void @st_disjoint_align16_float_float(i64 %ptr, float %str) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 8 ret void } @@ -7013,8 +6953,8 @@ define dso_local void @st_not_disjoint32_float_float(i64 %ptr, float %str) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 4 ret void } @@ -7047,8 +6987,8 @@ define dso_local void @st_disjoint_align32_float_float(i64 %ptr, float %str) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 16 ret void } @@ -7074,8 +7014,8 @@ define dso_local void @st_not_disjoint64_float_float(i64 %ptr, float %str) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 4 ret void } @@ -7100,8 +7040,8 @@ define dso_local void @st_disjoint_align64_float_float(i64 %ptr, float %str) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %str, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %str, ptr %0, align 4096 ret void } @@ -7112,7 +7052,7 @@ define dso_local void @st_cst_align16_float_float(float %str) { ; CHECK-NEXT: stfs f1, 4080(0) ; CHECK-NEXT: blr entry: - store float %str, float* inttoptr (i64 4080 to float*), align 16 + store float %str, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7124,7 +7064,7 @@ define dso_local void @st_cst_align32_float_float(float %str) { ; CHECK-NEXT: stfs f1, -27108(r3) ; CHECK-NEXT: blr entry: - store float %str, float* inttoptr (i64 9999900 to float*), align 4 + store float %str, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7145,7 +7085,7 @@ define dso_local void @st_cst_align64_float_float(float %str) { ; CHECK-PREP10-NEXT: stfs f1, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - store float %str, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %str, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7157,27 +7097,26 @@ define dso_local void @st_0_float_double(i64 %ptr, float %str) { ; CHECK-NEXT: blr entry: %conv = fpext float %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_float_double(i8* nocapture %ptr, float %str) { +define dso_local void @st_align16_float_double(ptr nocapture %ptr, float %str) { ; CHECK-LABEL: st_align16_float_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stfd f1, 8(r3) ; CHECK-NEXT: blr entry: %conv = fpext float %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_float_double(i8* nocapture %ptr, float %str) { +define dso_local void @st_align32_float_double(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align32_float_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstfd f1, 99999000(r3), 0 @@ -7191,14 +7130,13 @@ define dso_local void @st_align32_float_double(i8* nocapture %ptr, float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fpext float %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_float_double(i8* nocapture %ptr, float %str) { +define dso_local void @st_align64_float_double(ptr nocapture %ptr, float %str) { ; CHECK-P10-LABEL: st_align64_float_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -7215,23 +7153,21 @@ define dso_local void @st_align64_float_double(i8* nocapture %ptr, float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fpext float %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_float_double(i8* nocapture %ptr, i64 %off, float %str) { +define dso_local void @st_reg_float_double(ptr nocapture %ptr, i64 %off, float %str) { ; CHECK-LABEL: st_reg_float_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stfdx f1, r3, r4 ; CHECK-NEXT: blr entry: %conv = fpext float %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -7246,8 +7182,8 @@ entry: %conv = fpext float %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7261,8 +7197,8 @@ define dso_local void @st_not_disjoint16_float_double(i64 %ptr, float %str) { entry: %conv = fpext float %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7277,8 +7213,8 @@ entry: %and = and i64 %ptr, -4096 %conv = fpext float %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7293,8 +7229,8 @@ define dso_local void @st_not_disjoint32_float_double(i64 %ptr, float %str) { entry: %conv = fpext float %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7328,8 +7264,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = fpext float %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -7356,8 +7292,8 @@ define dso_local void @st_not_disjoint64_float_double(i64 %ptr, float %str) { entry: %conv = fpext float %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7383,8 +7319,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = fpext float %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -7396,7 +7332,7 @@ define dso_local void @st_cst_align16_float_double(float %str) { ; CHECK-NEXT: blr entry: %conv = fpext float %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7409,7 +7345,7 @@ define dso_local void @st_cst_align32_float_double(float %str) { ; CHECK-NEXT: blr entry: %conv = fpext float %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7431,6 +7367,6 @@ define dso_local void @st_cst_align64_float_double(float %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = fpext float %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } diff --git a/llvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll b/llvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll index f45611f..5f11d98 100644 --- a/llvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll +++ b/llvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll @@ -26,28 +26,28 @@ define dso_local signext i16 @ld_0_int16_t_int8_t(i64 %ptr) { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align16_int16_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align16_int16_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int16_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align32_int16_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align32_int16_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int16_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -62,14 +62,14 @@ define dso_local signext i16 @ld_align32_int16_t_int8_t(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align64_int16_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align64_int16_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int16_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -87,22 +87,22 @@ define dso_local signext i16 @ld_align64_int16_t_int8_t(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_reg_int16_t_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i16 @ld_reg_int16_t_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int16_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -118,8 +118,8 @@ define dso_local signext i16 @ld_or_int16_t_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i16 ret i16 %conv1 } @@ -134,8 +134,8 @@ define dso_local signext i16 @ld_not_disjoint16_int16_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -151,8 +151,8 @@ define dso_local signext i16 @ld_disjoint_align16_int16_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -168,8 +168,8 @@ define dso_local signext i16 @ld_not_disjoint32_int16_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -206,8 +206,8 @@ define dso_local signext i16 @ld_disjoint_align32_int16_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -236,8 +236,8 @@ define dso_local signext i16 @ld_not_disjoint64_int16_t_int8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -265,8 +265,8 @@ define dso_local signext i16 @ld_disjoint_align64_int16_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -279,7 +279,7 @@ define dso_local signext i16 @ld_cst_align16_int16_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -293,7 +293,7 @@ define dso_local signext i16 @ld_cst_align32_int16_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -317,7 +317,7 @@ define dso_local signext i16 @ld_cst_align64_int16_t_int8_t() { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -329,26 +329,25 @@ define dso_local signext i16 @ld_0_int16_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: lha r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align16_int16_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align16_int16_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int16_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lha r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align32_int16_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align32_int16_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int16_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plha r3, 99999000(r3), 0 @@ -361,14 +360,13 @@ define dso_local signext i16 @ld_align32_int16_t_uint16_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align64_int16_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align64_int16_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int16_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -384,23 +382,21 @@ define dso_local signext i16 @ld_align64_int16_t_uint16_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_reg_int16_t_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i16 @ld_reg_int16_t_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int16_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhax r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -413,8 +409,8 @@ define dso_local signext i16 @ld_or_int16_t_uint16_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -427,8 +423,8 @@ define dso_local signext i16 @ld_not_disjoint16_int16_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -442,8 +438,8 @@ define dso_local signext i16 @ld_disjoint_align16_int16_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 ret i16 %1 } @@ -457,8 +453,8 @@ define dso_local signext i16 @ld_not_disjoint32_int16_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -491,8 +487,8 @@ define dso_local signext i16 @ld_disjoint_align32_int16_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 ret i16 %1 } @@ -518,8 +514,8 @@ define dso_local signext i16 @ld_not_disjoint64_int16_t_uint16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -544,8 +540,8 @@ define dso_local signext i16 @ld_disjoint_align64_int16_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 ret i16 %1 } @@ -556,7 +552,7 @@ define dso_local signext i16 @ld_cst_align16_int16_t_uint16_t() { ; CHECK-NEXT: lha r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 ret i16 %0 } @@ -568,7 +564,7 @@ define dso_local signext i16 @ld_cst_align32_int16_t_uint16_t() { ; CHECK-NEXT: lha r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 ret i16 %0 } @@ -589,7 +585,7 @@ define dso_local signext i16 @ld_cst_align64_int16_t_uint16_t() { ; CHECK-PREP10-NEXT: lha r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i16 %0 } @@ -605,14 +601,14 @@ define dso_local signext i16 @ld_0_int16_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: lha r3, 2(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align16_int16_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align16_int16_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_int16_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lha r3, 8(r3) @@ -623,15 +619,14 @@ define dso_local signext i16 @ld_align16_int16_t_uint32_t(i8* nocapture readonly ; CHECK-BE-NEXT: lha r3, 10(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align32_int16_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align32_int16_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_int16_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plha r3, 99999000(r3), 0 @@ -670,15 +665,14 @@ define dso_local signext i16 @ld_align32_int16_t_uint32_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lhax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align64_int16_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align64_int16_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_int16_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -728,15 +722,14 @@ define dso_local signext i16 @ld_align64_int16_t_uint32_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lhax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_reg_int16_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i16 @ld_reg_int16_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_int16_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lhax r3, r3, r4 @@ -748,10 +741,9 @@ define dso_local signext i16 @ld_reg_int16_t_uint32_t(i8* nocapture readonly %pt ; CHECK-BE-NEXT: lha r3, 2(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -771,8 +763,8 @@ define dso_local signext i16 @ld_or_int16_t_uint32_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = trunc i32 %1 to i16 ret i16 %conv1 } @@ -792,8 +784,8 @@ define dso_local signext i16 @ld_not_disjoint16_int16_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -814,8 +806,8 @@ define dso_local signext i16 @ld_disjoint_align16_int16_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -837,8 +829,8 @@ define dso_local signext i16 @ld_not_disjoint32_int16_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -897,8 +889,8 @@ define dso_local signext i16 @ld_disjoint_align32_int16_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -964,8 +956,8 @@ define dso_local signext i16 @ld_not_disjoint64_int16_t_uint32_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -1029,8 +1021,8 @@ define dso_local signext i16 @ld_disjoint_align64_int16_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -1047,7 +1039,7 @@ define dso_local signext i16 @ld_cst_align16_int16_t_uint32_t() { ; CHECK-BE-NEXT: lha r3, 4082(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -1066,7 +1058,7 @@ define dso_local signext i16 @ld_cst_align32_int16_t_uint32_t() { ; CHECK-BE-NEXT: lha r3, -27106(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -1122,7 +1114,7 @@ define dso_local signext i16 @ld_cst_align64_int16_t_uint32_t() { ; CHECK-P8-BE-NEXT: lha r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -1139,14 +1131,14 @@ define dso_local signext i16 @ld_0_int16_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: lha r3, 6(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align16_int16_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align16_int16_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_int16_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lha r3, 8(r3) @@ -1157,15 +1149,14 @@ define dso_local signext i16 @ld_align16_int16_t_uint64_t(i8* nocapture readonly ; CHECK-BE-NEXT: lha r3, 14(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align32_int16_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align32_int16_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_int16_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plha r3, 99999000(r3), 0 @@ -1204,15 +1195,14 @@ define dso_local signext i16 @ld_align32_int16_t_uint64_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lhax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align64_int16_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align64_int16_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_int16_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -1262,15 +1252,14 @@ define dso_local signext i16 @ld_align64_int16_t_uint64_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lhax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_reg_int16_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i16 @ld_reg_int16_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_int16_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lhax r3, r3, r4 @@ -1282,10 +1271,9 @@ define dso_local signext i16 @ld_reg_int16_t_uint64_t(i8* nocapture readonly %pt ; CHECK-BE-NEXT: lha r3, 6(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -1305,8 +1293,8 @@ define dso_local signext i16 @ld_or_int16_t_uint64_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i16 ret i16 %conv1 } @@ -1326,8 +1314,8 @@ define dso_local signext i16 @ld_not_disjoint16_int16_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -1348,8 +1336,8 @@ define dso_local signext i16 @ld_disjoint_align16_int16_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -1371,8 +1359,8 @@ define dso_local signext i16 @ld_not_disjoint32_int16_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -1431,8 +1419,8 @@ define dso_local signext i16 @ld_disjoint_align32_int16_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -1498,8 +1486,8 @@ define dso_local signext i16 @ld_not_disjoint64_int16_t_uint64_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -1563,8 +1551,8 @@ define dso_local signext i16 @ld_disjoint_align64_int16_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -1581,7 +1569,7 @@ define dso_local signext i16 @ld_cst_align16_int16_t_uint64_t() { ; CHECK-BE-NEXT: lha r3, 4086(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -1600,7 +1588,7 @@ define dso_local signext i16 @ld_cst_align32_int16_t_uint64_t() { ; CHECK-BE-NEXT: lha r3, -27102(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -1656,7 +1644,7 @@ define dso_local signext i16 @ld_cst_align64_int16_t_uint64_t() { ; CHECK-P8-BE-NEXT: lha r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -1671,14 +1659,14 @@ define dso_local signext i16 @ld_0_int16_t_float(i64 %ptr) { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align16_int16_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align16_int16_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -1687,15 +1675,14 @@ define dso_local signext i16 @ld_align16_int16_t_float(i8* nocapture readonly %p ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align32_int16_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align32_int16_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -1714,15 +1701,14 @@ define dso_local signext i16 @ld_align32_int16_t_float(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align64_int16_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align64_int16_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1744,15 +1730,14 @@ define dso_local signext i16 @ld_align64_int16_t_float(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_reg_int16_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i16 @ld_reg_int16_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -1761,10 +1746,9 @@ define dso_local signext i16 @ld_reg_int16_t_float(i8* nocapture readonly %ptr, ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i16 ret i16 %conv } @@ -1781,8 +1765,8 @@ define dso_local signext i16 @ld_or_int16_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptosi float %1 to i16 ret i16 %conv1 } @@ -1799,8 +1783,8 @@ define dso_local signext i16 @ld_not_disjoint16_int16_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i16 ret i16 %conv } @@ -1818,8 +1802,8 @@ define dso_local signext i16 @ld_disjoint_align16_int16_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptosi float %1 to i16 ret i16 %conv } @@ -1837,8 +1821,8 @@ define dso_local signext i16 @ld_not_disjoint32_int16_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i16 ret i16 %conv } @@ -1881,8 +1865,8 @@ define dso_local signext i16 @ld_disjoint_align32_int16_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptosi float %1 to i16 ret i16 %conv } @@ -1915,8 +1899,8 @@ define dso_local signext i16 @ld_not_disjoint64_int16_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i16 ret i16 %conv } @@ -1949,8 +1933,8 @@ define dso_local signext i16 @ld_disjoint_align64_int16_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptosi float %1 to i16 ret i16 %conv } @@ -1965,7 +1949,7 @@ define dso_local signext i16 @ld_cst_align16_int16_t_float() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi float %0 to i16 ret i16 %conv } @@ -1981,7 +1965,7 @@ define dso_local signext i16 @ld_cst_align32_int16_t_float() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptosi float %0 to i16 ret i16 %conv } @@ -2009,7 +1993,7 @@ define dso_local signext i16 @ld_cst_align64_int16_t_float() { ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi float %0 to i16 ret i16 %conv } @@ -2024,14 +2008,14 @@ define dso_local signext i16 @ld_0_int16_t_double(i64 %ptr) { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align16_int16_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align16_int16_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -2040,15 +2024,14 @@ define dso_local signext i16 @ld_align16_int16_t_double(i8* nocapture readonly % ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align32_int16_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align32_int16_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2067,15 +2050,14 @@ define dso_local signext i16 @ld_align32_int16_t_double(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_align64_int16_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i16 @ld_align64_int16_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2097,15 +2079,14 @@ define dso_local signext i16 @ld_align64_int16_t_double(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i16 @ld_reg_int16_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i16 @ld_reg_int16_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -2114,10 +2095,9 @@ define dso_local signext i16 @ld_reg_int16_t_double(i8* nocapture readonly %ptr, ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i16 ret i16 %conv } @@ -2134,8 +2114,8 @@ define dso_local signext i16 @ld_or_int16_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptosi double %1 to i16 ret i16 %conv1 } @@ -2152,8 +2132,8 @@ define dso_local signext i16 @ld_not_disjoint16_int16_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i16 ret i16 %conv } @@ -2171,8 +2151,8 @@ define dso_local signext i16 @ld_disjoint_align16_int16_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i16 ret i16 %conv } @@ -2190,8 +2170,8 @@ define dso_local signext i16 @ld_not_disjoint32_int16_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i16 ret i16 %conv } @@ -2234,8 +2214,8 @@ define dso_local signext i16 @ld_disjoint_align32_int16_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptosi double %1 to i16 ret i16 %conv } @@ -2268,8 +2248,8 @@ define dso_local signext i16 @ld_not_disjoint64_int16_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i16 ret i16 %conv } @@ -2301,8 +2281,8 @@ define dso_local signext i16 @ld_disjoint_align64_int16_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptosi double %1 to i16 ret i16 %conv } @@ -2317,7 +2297,7 @@ define dso_local signext i16 @ld_cst_align16_int16_t_double() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi double %0 to i16 ret i16 %conv } @@ -2333,7 +2313,7 @@ define dso_local signext i16 @ld_cst_align32_int16_t_double() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptosi double %0 to i16 ret i16 %conv } @@ -2361,7 +2341,7 @@ define dso_local signext i16 @ld_cst_align64_int16_t_double() { ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi double %0 to i16 ret i16 %conv } @@ -2373,27 +2353,27 @@ define dso_local zeroext i16 @ld_0_uint16_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: lbz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint16_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint16_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -2406,14 +2386,14 @@ define dso_local zeroext i16 @ld_align32_uint16_t_uint8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint16_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2429,21 +2409,21 @@ define dso_local zeroext i16 @ld_align64_uint16_t_uint8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint16_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i16 ret i16 %conv } @@ -2458,8 +2438,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_uint8_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = zext i8 %1 to i16 ret i16 %conv1 } @@ -2473,8 +2453,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i16 ret i16 %conv } @@ -2489,8 +2469,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = zext i8 %1 to i16 ret i16 %conv } @@ -2505,8 +2485,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i16 ret i16 %conv } @@ -2540,8 +2520,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = zext i8 %1 to i16 ret i16 %conv } @@ -2568,8 +2548,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_uint8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i16 ret i16 %conv } @@ -2595,8 +2575,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = zext i8 %1 to i16 ret i16 %conv } @@ -2608,7 +2588,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_uint8_t() { ; CHECK-NEXT: lbz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = zext i8 %0 to i16 ret i16 %conv } @@ -2621,7 +2601,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_uint8_t() { ; CHECK-NEXT: lbz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = zext i8 %0 to i16 ret i16 %conv } @@ -2643,7 +2623,7 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_uint8_t() { ; CHECK-PREP10-NEXT: lbz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = zext i8 %0 to i16 ret i16 %conv } @@ -2657,14 +2637,14 @@ define dso_local zeroext i16 @ld_0_uint16_t_int8_t(i64 %ptr) { ; CHECK-NEXT: clrldi r3, r3, 48 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint16_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) @@ -2672,14 +2652,14 @@ define dso_local zeroext i16 @ld_align16_uint16_t_int8_t(i8* nocapture readonly ; CHECK-NEXT: clrldi r3, r3, 48 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint16_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -2696,14 +2676,14 @@ define dso_local zeroext i16 @ld_align32_uint16_t_int8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: clrldi r3, r3, 48 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint16_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2723,14 +2703,14 @@ define dso_local zeroext i16 @ld_align64_uint16_t_int8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: clrldi r3, r3, 48 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint16_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 @@ -2738,8 +2718,8 @@ define dso_local zeroext i16 @ld_reg_uint16_t_int8_t(i8* nocapture readonly %ptr ; CHECK-NEXT: clrldi r3, r3, 48 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -2756,8 +2736,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i16 ret i16 %conv1 } @@ -2773,8 +2753,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -2791,8 +2771,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -2809,8 +2789,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -2850,8 +2830,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -2882,8 +2862,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_int8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -2913,8 +2893,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sext i8 %1 to i16 ret i16 %conv } @@ -2928,7 +2908,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_int8_t() { ; CHECK-NEXT: clrldi r3, r3, 48 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -2943,7 +2923,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_int8_t() { ; CHECK-NEXT: clrldi r3, r3, 48 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -2969,7 +2949,7 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_int8_t() { ; CHECK-PREP10-NEXT: clrldi r3, r3, 48 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i8 %0 to i16 ret i16 %conv } @@ -2981,26 +2961,25 @@ define dso_local zeroext i16 @ld_0_uint16_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: lhz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint16_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint16_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plhz r3, 99999000(r3), 0 @@ -3013,14 +2992,13 @@ define dso_local zeroext i16 @ld_align32_uint16_t_uint16_t(i8* nocapture readonl ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint16_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3036,23 +3014,21 @@ define dso_local zeroext i16 @ld_align64_uint16_t_uint16_t(i8* nocapture readonl ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint16_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - ret i16 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + ret i16 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -3065,8 +3041,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_uint16_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -3079,8 +3055,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -3094,8 +3070,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 ret i16 %1 } @@ -3109,8 +3085,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -3143,8 +3119,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 ret i16 %1 } @@ -3170,8 +3146,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_uint16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 ret i16 %1 } @@ -3196,8 +3172,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 ret i16 %1 } @@ -3208,7 +3184,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_uint16_t() { ; CHECK-NEXT: lhz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 ret i16 %0 } @@ -3220,7 +3196,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_uint16_t() { ; CHECK-NEXT: lhz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 ret i16 %0 } @@ -3241,7 +3217,7 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_uint16_t() { ; CHECK-PREP10-NEXT: lhz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i16 %0 } @@ -3257,14 +3233,14 @@ define dso_local zeroext i16 @ld_0_uint16_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: lhz r3, 2(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_uint16_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lhz r3, 8(r3) @@ -3275,15 +3251,14 @@ define dso_local zeroext i16 @ld_align16_uint16_t_uint32_t(i8* nocapture readonl ; CHECK-BE-NEXT: lhz r3, 10(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_uint16_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plhz r3, 99999000(r3), 0 @@ -3322,15 +3297,14 @@ define dso_local zeroext i16 @ld_align32_uint16_t_uint32_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lhzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_uint16_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -3380,15 +3354,14 @@ define dso_local zeroext i16 @ld_align64_uint16_t_uint32_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lhzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_uint16_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lhzx r3, r3, r4 @@ -3400,10 +3373,9 @@ define dso_local zeroext i16 @ld_reg_uint16_t_uint32_t(i8* nocapture readonly %p ; CHECK-BE-NEXT: lhz r3, 2(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -3423,8 +3395,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_uint32_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = trunc i32 %1 to i16 ret i16 %conv1 } @@ -3444,8 +3416,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -3466,8 +3438,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -3489,8 +3461,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -3549,8 +3521,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -3616,8 +3588,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_uint32_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -3681,8 +3653,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = trunc i32 %1 to i16 ret i16 %conv } @@ -3699,7 +3671,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_uint32_t() { ; CHECK-BE-NEXT: lhz r3, 4082(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -3718,7 +3690,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_uint32_t() { ; CHECK-BE-NEXT: lhz r3, -27106(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -3774,7 +3746,7 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_uint32_t() { ; CHECK-P8-BE-NEXT: lhz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i32 %0 to i16 ret i16 %conv } @@ -3791,14 +3763,14 @@ define dso_local zeroext i16 @ld_0_uint16_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: lhz r3, 6(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_uint16_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lhz r3, 8(r3) @@ -3809,15 +3781,14 @@ define dso_local zeroext i16 @ld_align16_uint16_t_uint64_t(i8* nocapture readonl ; CHECK-BE-NEXT: lhz r3, 14(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_uint16_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plhz r3, 99999000(r3), 0 @@ -3856,15 +3827,14 @@ define dso_local zeroext i16 @ld_align32_uint16_t_uint64_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lhzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_uint16_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -3914,15 +3884,14 @@ define dso_local zeroext i16 @ld_align64_uint16_t_uint64_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lhzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_uint16_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lhzx r3, r3, r4 @@ -3934,10 +3903,9 @@ define dso_local zeroext i16 @ld_reg_uint16_t_uint64_t(i8* nocapture readonly %p ; CHECK-BE-NEXT: lhz r3, 6(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -3957,8 +3925,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_uint64_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i16 ret i16 %conv1 } @@ -3978,8 +3946,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -4000,8 +3968,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -4023,8 +3991,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -4083,8 +4051,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -4150,8 +4118,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_uint64_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -4215,8 +4183,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = trunc i64 %1 to i16 ret i16 %conv } @@ -4233,7 +4201,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_uint64_t() { ; CHECK-BE-NEXT: lhz r3, 4086(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -4252,7 +4220,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_uint64_t() { ; CHECK-BE-NEXT: lhz r3, -27102(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = trunc i64 %0 to i16 ret i16 %conv } @@ -4308,13 +4276,13 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_uint64_t() { ; CHECK-P8-BE-NEXT: lhz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i64 %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -4322,15 +4290,14 @@ define dso_local zeroext i16 @ld_align16_uint16_t_float(i8* nocapture readonly % ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -4347,15 +4314,14 @@ define dso_local zeroext i16 @ld_align32_uint16_t_float(i8* nocapture readonly % ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -4375,15 +4341,14 @@ define dso_local zeroext i16 @ld_align64_uint16_t_float(i8* nocapture readonly % ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -4391,10 +4356,9 @@ define dso_local zeroext i16 @ld_reg_uint16_t_float(i8* nocapture readonly %ptr, ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i16 ret i16 %conv } @@ -4410,8 +4374,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptoui float %1 to i16 ret i16 %conv1 } @@ -4427,8 +4391,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i16 ret i16 %conv } @@ -4445,8 +4409,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptoui float %1 to i16 ret i16 %conv } @@ -4463,8 +4427,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i16 ret i16 %conv } @@ -4504,8 +4468,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptoui float %1 to i16 ret i16 %conv } @@ -4536,8 +4500,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i16 ret i16 %conv } @@ -4567,8 +4531,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptoui float %1 to i16 ret i16 %conv } @@ -4582,7 +4546,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_float() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui float %0 to i16 ret i16 %conv } @@ -4597,7 +4561,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_float() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptoui float %0 to i16 ret i16 %conv } @@ -4623,7 +4587,7 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_float() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui float %0 to i16 ret i16 %conv } @@ -4637,14 +4601,14 @@ define dso_local zeroext i16 @ld_0_uint16_t_double(i64 %ptr) { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align16_uint16_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align16_uint16_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -4652,15 +4616,14 @@ define dso_local zeroext i16 @ld_align16_uint16_t_double(i8* nocapture readonly ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align32_uint16_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align32_uint16_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -4677,15 +4640,14 @@ define dso_local zeroext i16 @ld_align32_uint16_t_double(i8* nocapture readonly ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_align64_uint16_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i16 @ld_align64_uint16_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -4705,15 +4667,14 @@ define dso_local zeroext i16 @ld_align64_uint16_t_double(i8* nocapture readonly ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i16 ret i16 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i16 @ld_reg_uint16_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i16 @ld_reg_uint16_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -4721,10 +4682,9 @@ define dso_local zeroext i16 @ld_reg_uint16_t_double(i8* nocapture readonly %ptr ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i16 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i16 ret i16 %conv } @@ -4740,8 +4700,8 @@ define dso_local zeroext i16 @ld_or_uint16_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptoui double %1 to i16 ret i16 %conv1 } @@ -4757,8 +4717,8 @@ define dso_local zeroext i16 @ld_not_disjoint16_uint16_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i16 ret i16 %conv } @@ -4775,8 +4735,8 @@ define dso_local zeroext i16 @ld_disjoint_align16_uint16_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i16 ret i16 %conv } @@ -4793,8 +4753,8 @@ define dso_local zeroext i16 @ld_not_disjoint32_uint16_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i16 ret i16 %conv } @@ -4834,8 +4794,8 @@ define dso_local zeroext i16 @ld_disjoint_align32_uint16_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptoui double %1 to i16 ret i16 %conv } @@ -4866,8 +4826,8 @@ define dso_local zeroext i16 @ld_not_disjoint64_uint16_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i16 ret i16 %conv } @@ -4897,8 +4857,8 @@ define dso_local zeroext i16 @ld_disjoint_align64_uint16_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptoui double %1 to i16 ret i16 %conv } @@ -4912,7 +4872,7 @@ define dso_local zeroext i16 @ld_cst_align16_uint16_t_double() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui double %0 to i16 ret i16 %conv } @@ -4927,7 +4887,7 @@ define dso_local zeroext i16 @ld_cst_align32_uint16_t_double() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptoui double %0 to i16 ret i16 %conv } @@ -4953,7 +4913,7 @@ define dso_local zeroext i16 @ld_cst_align64_uint16_t_double() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui double %0 to i16 ret i16 %conv } @@ -4966,26 +4926,26 @@ define dso_local void @st_0_uint16_t_uint8_t(i64 %ptr, i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i16 %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint16_t_uint8_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align16_uint16_t_uint8_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-LABEL: st_align16_uint16_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stb r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i16 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint16_t_uint8_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align32_uint16_t_uint8_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint16_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstb r4, 99999000(r3), 0 @@ -4999,13 +4959,13 @@ define dso_local void @st_align32_uint16_t_uint8_t(i8* nocapture %ptr, i16 zeroe ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i16 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint16_t_uint8_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align64_uint16_t_uint8_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint16_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5022,21 +4982,21 @@ define dso_local void @st_align64_uint16_t_uint8_t(i8* nocapture %ptr, i16 zeroe ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i16 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint16_t_uint8_t(i8* nocapture %ptr, i64 %off, i16 zeroext %str) { +define dso_local void @st_reg_uint16_t_uint8_t(ptr nocapture %ptr, i64 %off, i16 zeroext %str) { ; CHECK-LABEL: st_reg_uint16_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stbx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i16 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -5051,8 +5011,8 @@ entry: %conv = trunc i16 %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5066,8 +5026,8 @@ define dso_local void @st_not_disjoint16_uint16_t_uint8_t(i64 %ptr, i16 zeroext entry: %conv = trunc i16 %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5082,8 +5042,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i16 %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -5098,8 +5058,8 @@ define dso_local void @st_not_disjoint32_uint16_t_uint8_t(i64 %ptr, i16 zeroext entry: %conv = trunc i16 %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5133,8 +5093,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i16 %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -5161,8 +5121,8 @@ define dso_local void @st_not_disjoint64_uint16_t_uint8_t(i64 %ptr, i16 zeroext entry: %conv = trunc i16 %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5188,8 +5148,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i16 %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -5201,7 +5161,7 @@ define dso_local void @st_cst_align16_uint16_t_uint8_t(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i16 %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5214,7 +5174,7 @@ define dso_local void @st_cst_align32_uint16_t_uint8_t(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i16 %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5236,7 +5196,7 @@ define dso_local void @st_cst_align64_uint16_t_uint8_t(i16 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i16 %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5247,26 +5207,25 @@ define dso_local void @st_0_uint16_t_uint16_t(i64 %ptr, i16 zeroext %str) { ; CHECK-NEXT: sth r4, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - store i16 %str, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %str, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint16_t_uint16_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align16_uint16_t_uint16_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-LABEL: st_align16_uint16_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sth r4, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %str, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %str, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint16_t_uint16_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align32_uint16_t_uint16_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint16_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: psth r4, 99999000(r3), 0 @@ -5279,14 +5238,13 @@ define dso_local void @st_align32_uint16_t_uint16_t(i8* nocapture %ptr, i16 zero ; CHECK-PREP10-NEXT: sthx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %str, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %str, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint16_t_uint16_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align64_uint16_t_uint16_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint16_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5302,22 +5260,20 @@ define dso_local void @st_align64_uint16_t_uint16_t(i8* nocapture %ptr, i16 zero ; CHECK-PREP10-NEXT: sthx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %str, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %str, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint16_t_uint16_t(i8* nocapture %ptr, i64 %off, i16 zeroext %str) { +define dso_local void @st_reg_uint16_t_uint16_t(ptr nocapture %ptr, i64 %off, i16 zeroext %str) { ; CHECK-LABEL: st_reg_uint16_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sthx r5, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %str, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %str, ptr %add.ptr, align 2 ret void } @@ -5331,8 +5287,8 @@ define dso_local void @st_or1_uint16_t_uint16_t(i64 %ptr, i8 zeroext %off, i16 z entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 2 ret void } @@ -5345,8 +5301,8 @@ define dso_local void @st_not_disjoint16_uint16_t_uint16_t(i64 %ptr, i16 zeroext ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 2 ret void } @@ -5360,8 +5316,8 @@ define dso_local void @st_disjoint_align16_uint16_t_uint16_t(i64 %ptr, i16 zeroe entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 8 ret void } @@ -5375,8 +5331,8 @@ define dso_local void @st_not_disjoint32_uint16_t_uint16_t(i64 %ptr, i16 zeroext ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 2 ret void } @@ -5409,8 +5365,8 @@ define dso_local void @st_disjoint_align32_uint16_t_uint16_t(i64 %ptr, i16 zeroe entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 16 ret void } @@ -5436,8 +5392,8 @@ define dso_local void @st_not_disjoint64_uint16_t_uint16_t(i64 %ptr, i16 zeroext ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 2 ret void } @@ -5462,8 +5418,8 @@ define dso_local void @st_disjoint_align64_uint16_t_uint16_t(i64 %ptr, i16 zeroe entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %str, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %str, ptr %0, align 4096 ret void } @@ -5474,7 +5430,7 @@ define dso_local void @st_cst_align16_uint16_t_uint16_t(i16 zeroext %str) { ; CHECK-NEXT: sth r3, 4080(0) ; CHECK-NEXT: blr entry: - store i16 %str, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %str, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5486,7 +5442,7 @@ define dso_local void @st_cst_align32_uint16_t_uint16_t(i16 zeroext %str) { ; CHECK-NEXT: sth r3, -27108(r4) ; CHECK-NEXT: blr entry: - store i16 %str, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %str, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5507,7 +5463,7 @@ define dso_local void @st_cst_align64_uint16_t_uint16_t(i16 zeroext %str) { ; CHECK-PREP10-NEXT: sth r3, 0(r4) ; CHECK-PREP10-NEXT: blr entry: - store i16 %str, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %str, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5519,27 +5475,26 @@ define dso_local void @st_0_uint16_t_uint32_t(i64 %ptr, i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint16_t_uint32_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align16_uint16_t_uint32_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-LABEL: st_align16_uint16_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint16_t_uint32_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align32_uint16_t_uint32_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint16_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstw r4, 99999000(r3), 0 @@ -5553,14 +5508,13 @@ define dso_local void @st_align32_uint16_t_uint32_t(i8* nocapture %ptr, i16 zero ; CHECK-PREP10-NEXT: blr entry: %conv = zext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint16_t_uint32_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align64_uint16_t_uint32_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint16_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5577,23 +5531,21 @@ define dso_local void @st_align64_uint16_t_uint32_t(i8* nocapture %ptr, i16 zero ; CHECK-PREP10-NEXT: blr entry: %conv = zext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint16_t_uint32_t(i8* nocapture %ptr, i64 %off, i16 zeroext %str) { +define dso_local void @st_reg_uint16_t_uint32_t(ptr nocapture %ptr, i64 %off, i16 zeroext %str) { ; CHECK-LABEL: st_reg_uint16_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stwx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -5608,8 +5560,8 @@ entry: %conv = zext i16 %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5623,8 +5575,8 @@ define dso_local void @st_not_disjoint16_uint16_t_uint32_t(i64 %ptr, i16 zeroext entry: %conv = zext i16 %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5639,8 +5591,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i16 %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -5655,8 +5607,8 @@ define dso_local void @st_not_disjoint32_uint16_t_uint32_t(i64 %ptr, i16 zeroext entry: %conv = zext i16 %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5690,8 +5642,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = zext i16 %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -5718,8 +5670,8 @@ define dso_local void @st_not_disjoint64_uint16_t_uint32_t(i64 %ptr, i16 zeroext entry: %conv = zext i16 %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -5745,8 +5697,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = zext i16 %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -5758,7 +5710,7 @@ define dso_local void @st_cst_align16_uint16_t_uint32_t(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5771,7 +5723,7 @@ define dso_local void @st_cst_align32_uint16_t_uint32_t(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5793,7 +5745,7 @@ define dso_local void @st_cst_align64_uint16_t_uint32_t(i16 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = zext i16 %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5805,27 +5757,26 @@ define dso_local void @st_0_uint16_t_uint64_t(i64 %ptr, i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint16_t_uint64_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align16_uint16_t_uint64_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-LABEL: st_align16_uint16_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint16_t_uint64_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align32_uint16_t_uint64_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint16_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -5839,14 +5790,13 @@ define dso_local void @st_align32_uint16_t_uint64_t(i8* nocapture %ptr, i16 zero ; CHECK-PREP10-NEXT: blr entry: %conv = zext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint16_t_uint64_t(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align64_uint16_t_uint64_t(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint16_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5863,23 +5813,21 @@ define dso_local void @st_align64_uint16_t_uint64_t(i8* nocapture %ptr, i16 zero ; CHECK-PREP10-NEXT: blr entry: %conv = zext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint16_t_uint64_t(i8* nocapture %ptr, i64 %off, i16 zeroext %str) { +define dso_local void @st_reg_uint16_t_uint64_t(ptr nocapture %ptr, i64 %off, i16 zeroext %str) { ; CHECK-LABEL: st_reg_uint16_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -5894,8 +5842,8 @@ entry: %conv = zext i16 %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -5909,8 +5857,8 @@ define dso_local void @st_not_disjoint16_uint16_t_uint64_t(i64 %ptr, i16 zeroext entry: %conv = zext i16 %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -5925,8 +5873,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i16 %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -5941,8 +5889,8 @@ define dso_local void @st_not_disjoint32_uint16_t_uint64_t(i64 %ptr, i16 zeroext entry: %conv = zext i16 %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -5976,8 +5924,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = zext i16 %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -6004,8 +5952,8 @@ define dso_local void @st_not_disjoint64_uint16_t_uint64_t(i64 %ptr, i16 zeroext entry: %conv = zext i16 %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6031,8 +5979,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = zext i16 %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -6044,7 +5992,7 @@ define dso_local void @st_cst_align16_uint16_t_uint64_t(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6057,7 +6005,7 @@ define dso_local void @st_cst_align32_uint16_t_uint64_t(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i16 %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6079,7 +6027,7 @@ define dso_local void @st_cst_align64_uint16_t_uint64_t(i16 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = zext i16 %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6093,13 +6041,13 @@ define dso_local void @st_0_uint16_t_float(i64 %ptr, i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint16_t_float(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align16_uint16_t_float(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-LABEL: st_align16_uint16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r4 @@ -6108,14 +6056,13 @@ define dso_local void @st_align16_uint16_t_float(i8* nocapture %ptr, i16 zeroext ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint16_t_float(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align32_uint16_t_float(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6142,14 +6089,13 @@ define dso_local void @st_align32_uint16_t_float(i8* nocapture %ptr, i16 zeroext ; CHECK-P8-NEXT: blr entry: %conv = uitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint16_t_float(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align64_uint16_t_float(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6180,14 +6126,13 @@ define dso_local void @st_align64_uint16_t_float(i8* nocapture %ptr, i16 zeroext ; CHECK-P8-NEXT: blr entry: %conv = uitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint16_t_float(i8* nocapture %ptr, i64 %off, i16 zeroext %str) { +define dso_local void @st_reg_uint16_t_float(ptr nocapture %ptr, i64 %off, i16 zeroext %str) { ; CHECK-LABEL: st_reg_uint16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r5 @@ -6196,9 +6141,8 @@ define dso_local void @st_reg_uint16_t_float(i8* nocapture %ptr, i64 %off, i16 z ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -6215,8 +6159,8 @@ entry: %conv = uitofp i16 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6232,8 +6176,8 @@ define dso_local void @st_not_disjoint16_uint16_t_float(i64 %ptr, i16 zeroext %s entry: %conv = uitofp i16 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6250,8 +6194,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i16 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -6286,8 +6230,8 @@ define dso_local void @st_not_disjoint32_uint16_t_float(i64 %ptr, i16 zeroext %s entry: %conv = uitofp i16 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6327,8 +6271,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i16 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -6359,8 +6303,8 @@ define dso_local void @st_not_disjoint64_uint16_t_float(i64 %ptr, i16 zeroext %s entry: %conv = uitofp i16 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6401,8 +6345,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i16 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -6416,7 +6360,7 @@ define dso_local void @st_cst_align16_uint16_t_float(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6431,7 +6375,7 @@ define dso_local void @st_cst_align32_uint16_t_float(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6467,7 +6411,7 @@ define dso_local void @st_cst_align64_uint16_t_float(i16 zeroext %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i16 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6481,13 +6425,13 @@ define dso_local void @st_0_uint16_t_double(i64 %ptr, i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint16_t_double(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align16_uint16_t_double(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-LABEL: st_align16_uint16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r4 @@ -6496,14 +6440,13 @@ define dso_local void @st_align16_uint16_t_double(i8* nocapture %ptr, i16 zeroex ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint16_t_double(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align32_uint16_t_double(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6530,14 +6473,13 @@ define dso_local void @st_align32_uint16_t_double(i8* nocapture %ptr, i16 zeroex ; CHECK-P8-NEXT: blr entry: %conv = uitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint16_t_double(i8* nocapture %ptr, i16 zeroext %str) { +define dso_local void @st_align64_uint16_t_double(ptr nocapture %ptr, i16 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6568,14 +6510,13 @@ define dso_local void @st_align64_uint16_t_double(i8* nocapture %ptr, i16 zeroex ; CHECK-P8-NEXT: blr entry: %conv = uitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint16_t_double(i8* nocapture %ptr, i64 %off, i16 zeroext %str) { +define dso_local void @st_reg_uint16_t_double(ptr nocapture %ptr, i64 %off, i16 zeroext %str) { ; CHECK-LABEL: st_reg_uint16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r5 @@ -6584,9 +6525,8 @@ define dso_local void @st_reg_uint16_t_double(i8* nocapture %ptr, i64 %off, i16 ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -6603,8 +6543,8 @@ entry: %conv = uitofp i16 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6620,8 +6560,8 @@ define dso_local void @st_not_disjoint16_uint16_t_double(i64 %ptr, i16 zeroext % entry: %conv = uitofp i16 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6638,8 +6578,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i16 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6674,8 +6614,8 @@ define dso_local void @st_not_disjoint32_uint16_t_double(i64 %ptr, i16 zeroext % entry: %conv = uitofp i16 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6715,8 +6655,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i16 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -6747,8 +6687,8 @@ define dso_local void @st_not_disjoint64_uint16_t_double(i64 %ptr, i16 zeroext % entry: %conv = uitofp i16 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6789,8 +6729,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i16 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -6804,7 +6744,7 @@ define dso_local void @st_cst_align16_uint16_t_double(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6819,7 +6759,7 @@ define dso_local void @st_cst_align32_uint16_t_double(i16 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i16 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6855,7 +6795,7 @@ define dso_local void @st_cst_align64_uint16_t_double(i16 zeroext %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i16 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6867,27 +6807,26 @@ define dso_local void @st_0_int16_t_uint32_t(i64 %ptr, i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int16_t_uint32_t(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align16_int16_t_uint32_t(ptr nocapture %ptr, i16 signext %str) { ; CHECK-LABEL: st_align16_int16_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int16_t_uint32_t(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align32_int16_t_uint32_t(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align32_int16_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstw r4, 99999000(r3), 0 @@ -6901,14 +6840,13 @@ define dso_local void @st_align32_int16_t_uint32_t(i8* nocapture %ptr, i16 signe ; CHECK-PREP10-NEXT: blr entry: %conv = sext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int16_t_uint32_t(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align64_int16_t_uint32_t(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align64_int16_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6925,23 +6863,21 @@ define dso_local void @st_align64_int16_t_uint32_t(i8* nocapture %ptr, i16 signe ; CHECK-PREP10-NEXT: blr entry: %conv = sext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int16_t_uint32_t(i8* nocapture %ptr, i64 %off, i16 signext %str) { +define dso_local void @st_reg_int16_t_uint32_t(ptr nocapture %ptr, i64 %off, i16 signext %str) { ; CHECK-LABEL: st_reg_int16_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stwx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -6956,8 +6892,8 @@ entry: %conv = sext i16 %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6971,8 +6907,8 @@ define dso_local void @st_not_disjoint16_int16_t_uint32_t(i64 %ptr, i16 signext entry: %conv = sext i16 %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6987,8 +6923,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sext i16 %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -7003,8 +6939,8 @@ define dso_local void @st_not_disjoint32_int16_t_uint32_t(i64 %ptr, i16 signext entry: %conv = sext i16 %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -7038,8 +6974,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sext i16 %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -7066,8 +7002,8 @@ define dso_local void @st_not_disjoint64_int16_t_uint32_t(i64 %ptr, i16 signext entry: %conv = sext i16 %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -7093,8 +7029,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sext i16 %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -7106,7 +7042,7 @@ define dso_local void @st_cst_align16_int16_t_uint32_t(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7119,7 +7055,7 @@ define dso_local void @st_cst_align32_int16_t_uint32_t(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7141,7 +7077,7 @@ define dso_local void @st_cst_align64_int16_t_uint32_t(i16 signext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = sext i16 %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7153,27 +7089,26 @@ define dso_local void @st_0_int16_t_uint64_t(i64 %ptr, i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int16_t_uint64_t(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align16_int16_t_uint64_t(ptr nocapture %ptr, i16 signext %str) { ; CHECK-LABEL: st_align16_int16_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int16_t_uint64_t(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align32_int16_t_uint64_t(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align32_int16_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -7187,14 +7122,13 @@ define dso_local void @st_align32_int16_t_uint64_t(i8* nocapture %ptr, i16 signe ; CHECK-PREP10-NEXT: blr entry: %conv = sext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int16_t_uint64_t(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align64_int16_t_uint64_t(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align64_int16_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -7211,23 +7145,21 @@ define dso_local void @st_align64_int16_t_uint64_t(i8* nocapture %ptr, i16 signe ; CHECK-PREP10-NEXT: blr entry: %conv = sext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int16_t_uint64_t(i8* nocapture %ptr, i64 %off, i16 signext %str) { +define dso_local void @st_reg_int16_t_uint64_t(ptr nocapture %ptr, i64 %off, i16 signext %str) { ; CHECK-LABEL: st_reg_int16_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -7242,8 +7174,8 @@ entry: %conv = sext i16 %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7257,8 +7189,8 @@ define dso_local void @st_not_disjoint16_int16_t_uint64_t(i64 %ptr, i16 signext entry: %conv = sext i16 %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7273,8 +7205,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sext i16 %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7289,8 +7221,8 @@ define dso_local void @st_not_disjoint32_int16_t_uint64_t(i64 %ptr, i16 signext entry: %conv = sext i16 %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7324,8 +7256,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sext i16 %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -7352,8 +7284,8 @@ define dso_local void @st_not_disjoint64_int16_t_uint64_t(i64 %ptr, i16 signext entry: %conv = sext i16 %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7379,8 +7311,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sext i16 %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -7392,7 +7324,7 @@ define dso_local void @st_cst_align16_int16_t_uint64_t(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7405,7 +7337,7 @@ define dso_local void @st_cst_align32_int16_t_uint64_t(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i16 %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7427,7 +7359,7 @@ define dso_local void @st_cst_align64_int16_t_uint64_t(i16 signext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = sext i16 %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7441,13 +7373,13 @@ define dso_local void @st_0_int16_t_float(i64 %ptr, i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int16_t_float(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align16_int16_t_float(ptr nocapture %ptr, i16 signext %str) { ; CHECK-LABEL: st_align16_int16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r4 @@ -7456,14 +7388,13 @@ define dso_local void @st_align16_int16_t_float(i8* nocapture %ptr, i16 signext ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int16_t_float(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align32_int16_t_float(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align32_int16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7490,14 +7421,13 @@ define dso_local void @st_align32_int16_t_float(i8* nocapture %ptr, i16 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int16_t_float(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align64_int16_t_float(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align64_int16_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7528,14 +7458,13 @@ define dso_local void @st_align64_int16_t_float(i8* nocapture %ptr, i16 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int16_t_float(i8* nocapture %ptr, i64 %off, i16 signext %str) { +define dso_local void @st_reg_int16_t_float(ptr nocapture %ptr, i64 %off, i16 signext %str) { ; CHECK-LABEL: st_reg_int16_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r5 @@ -7544,9 +7473,8 @@ define dso_local void @st_reg_int16_t_float(i8* nocapture %ptr, i64 %off, i16 si ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -7563,8 +7491,8 @@ entry: %conv = sitofp i16 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7580,8 +7508,8 @@ define dso_local void @st_not_disjoint16_int16_t_float(i64 %ptr, i16 signext %st entry: %conv = sitofp i16 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7598,8 +7526,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i16 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -7634,8 +7562,8 @@ define dso_local void @st_not_disjoint32_int16_t_float(i64 %ptr, i16 signext %st entry: %conv = sitofp i16 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7675,8 +7603,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i16 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -7707,8 +7635,8 @@ define dso_local void @st_not_disjoint64_int16_t_float(i64 %ptr, i16 signext %st entry: %conv = sitofp i16 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7750,8 +7678,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i16 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -7765,7 +7693,7 @@ define dso_local void @st_cst_align16_int16_t_float(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7780,7 +7708,7 @@ define dso_local void @st_cst_align32_int16_t_float(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7816,7 +7744,7 @@ define dso_local void @st_cst_align64_int16_t_float(i16 signext %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i16 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7830,13 +7758,13 @@ define dso_local void @st_0_int16_t_double(i64 %ptr, i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int16_t_double(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align16_int16_t_double(ptr nocapture %ptr, i16 signext %str) { ; CHECK-LABEL: st_align16_int16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r4 @@ -7845,14 +7773,13 @@ define dso_local void @st_align16_int16_t_double(i8* nocapture %ptr, i16 signext ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int16_t_double(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align32_int16_t_double(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align32_int16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7879,14 +7806,13 @@ define dso_local void @st_align32_int16_t_double(i8* nocapture %ptr, i16 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int16_t_double(i8* nocapture %ptr, i16 signext %str) { +define dso_local void @st_align64_int16_t_double(ptr nocapture %ptr, i16 signext %str) { ; CHECK-P10-LABEL: st_align64_int16_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7917,14 +7843,13 @@ define dso_local void @st_align64_int16_t_double(i8* nocapture %ptr, i16 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int16_t_double(i8* nocapture %ptr, i64 %off, i16 signext %str) { +define dso_local void @st_reg_int16_t_double(ptr nocapture %ptr, i64 %off, i16 signext %str) { ; CHECK-LABEL: st_reg_int16_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r5 @@ -7933,9 +7858,8 @@ define dso_local void @st_reg_int16_t_double(i8* nocapture %ptr, i64 %off, i16 s ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -7952,8 +7876,8 @@ entry: %conv = sitofp i16 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7969,8 +7893,8 @@ define dso_local void @st_not_disjoint16_int16_t_double(i64 %ptr, i16 signext %s entry: %conv = sitofp i16 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7987,8 +7911,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i16 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8023,8 +7947,8 @@ define dso_local void @st_not_disjoint32_int16_t_double(i64 %ptr, i16 signext %s entry: %conv = sitofp i16 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8064,8 +7988,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i16 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -8096,8 +8020,8 @@ define dso_local void @st_not_disjoint64_int16_t_double(i64 %ptr, i16 signext %s entry: %conv = sitofp i16 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8138,8 +8062,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i16 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -8153,7 +8077,7 @@ define dso_local void @st_cst_align16_int16_t_double(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -8168,7 +8092,7 @@ define dso_local void @st_cst_align32_int16_t_double(i16 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i16 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -8204,6 +8128,6 @@ define dso_local void @st_cst_align64_int16_t_double(i16 signext %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i16 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } diff --git a/llvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll b/llvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll index 82d5b6f..73578e5 100644 --- a/llvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll +++ b/llvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll @@ -26,28 +26,28 @@ define dso_local signext i32 @ld_0_int32_t_int8_t(i64 %ptr) { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align16_int32_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align16_int32_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int32_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align32_int32_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align32_int32_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int32_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -62,14 +62,14 @@ define dso_local signext i32 @ld_align32_int32_t_int8_t(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align64_int32_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align64_int32_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int32_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -87,22 +87,22 @@ define dso_local signext i32 @ld_align64_int32_t_int8_t(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_reg_int32_t_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i32 @ld_reg_int32_t_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int32_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -118,8 +118,8 @@ define dso_local signext i32 @ld_or_int32_t_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i32 ret i32 %conv1 } @@ -136,8 +136,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i32 ret i32 %conv1 } @@ -152,8 +152,8 @@ define dso_local signext i32 @ld_not_disjoint16_int32_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -169,8 +169,8 @@ define dso_local signext i32 @ld_disjoint_align16_int32_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -186,8 +186,8 @@ define dso_local signext i32 @ld_not_disjoint32_int32_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -224,8 +224,8 @@ define dso_local signext i32 @ld_disjoint_align32_int32_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -254,8 +254,8 @@ define dso_local signext i32 @ld_not_disjoint64_int32_t_int8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -283,8 +283,8 @@ define dso_local signext i32 @ld_disjoint_align64_int32_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -297,7 +297,7 @@ define dso_local signext i32 @ld_cst_align16_int32_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -311,7 +311,7 @@ define dso_local signext i32 @ld_cst_align32_int32_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -335,7 +335,7 @@ define dso_local signext i32 @ld_cst_align64_int32_t_int8_t() { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -347,28 +347,27 @@ define dso_local signext i32 @ld_0_int32_t_int16_t(i64 %ptr) { ; CHECK-NEXT: lha r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align16_int32_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align16_int32_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int32_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lha r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align32_int32_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align32_int32_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int32_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plha r3, 99999000(r3), 0 @@ -381,15 +380,14 @@ define dso_local signext i32 @ld_align32_int32_t_int16_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align64_int32_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align64_int32_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int32_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -405,24 +403,22 @@ define dso_local signext i32 @ld_align64_int32_t_int16_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_reg_int32_t_int16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i32 @ld_reg_int32_t_int16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int32_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhax r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } @@ -436,8 +432,8 @@ define dso_local signext i32 @ld_or_int32_t_int16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sext i16 %1 to i32 ret i32 %conv1 } @@ -453,8 +449,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sext i16 %1 to i32 ret i32 %conv1 } @@ -468,8 +464,8 @@ define dso_local signext i32 @ld_not_disjoint16_int32_t_int16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -484,8 +480,8 @@ define dso_local signext i32 @ld_disjoint_align16_int32_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -500,8 +496,8 @@ define dso_local signext i32 @ld_not_disjoint32_int32_t_int16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -535,8 +531,8 @@ define dso_local signext i32 @ld_disjoint_align32_int32_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -563,8 +559,8 @@ define dso_local signext i32 @ld_not_disjoint64_int32_t_int16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -590,8 +586,8 @@ define dso_local signext i32 @ld_disjoint_align64_int32_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -603,7 +599,7 @@ define dso_local signext i32 @ld_cst_align16_int32_t_int16_t() { ; CHECK-NEXT: lha r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -616,7 +612,7 @@ define dso_local signext i32 @ld_cst_align32_int32_t_int16_t() { ; CHECK-NEXT: lha r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -638,7 +634,7 @@ define dso_local signext i32 @ld_cst_align64_int32_t_int16_t() { ; CHECK-PREP10-NEXT: lha r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -650,26 +646,25 @@ define dso_local signext i32 @ld_0_int32_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: lwa r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align16_int32_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align16_int32_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int32_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwa r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align32_int32_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align32_int32_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int32_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwa r3, 99999000(r3), 0 @@ -682,14 +677,13 @@ define dso_local signext i32 @ld_align32_int32_t_uint32_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align64_int32_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align64_int32_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int32_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -705,23 +699,21 @@ define dso_local signext i32 @ld_align64_int32_t_uint32_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_reg_int32_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i32 @ld_reg_int32_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int32_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwax r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -734,8 +726,8 @@ define dso_local signext i32 @ld_or_int32_t_uint32_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -750,8 +742,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -764,8 +756,8 @@ define dso_local signext i32 @ld_not_disjoint16_int32_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -793,8 +785,8 @@ define dso_local signext i32 @ld_disjoint_unalign16_int32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -808,8 +800,8 @@ define dso_local signext i32 @ld_disjoint_align16_int32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 ret i32 %1 } @@ -823,8 +815,8 @@ define dso_local signext i32 @ld_not_disjoint32_int32_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -857,8 +849,8 @@ define dso_local signext i32 @ld_disjoint_align32_int32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 ret i32 %1 } @@ -884,8 +876,8 @@ define dso_local signext i32 @ld_not_disjoint64_int32_t_uint32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -910,8 +902,8 @@ define dso_local signext i32 @ld_disjoint_align64_int32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 ret i32 %1 } @@ -922,7 +914,7 @@ define dso_local signext i32 @ld_cst_align16_int32_t_uint32_t() { ; CHECK-NEXT: lwa r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 ret i32 %0 } @@ -934,7 +926,7 @@ define dso_local signext i32 @ld_cst_align32_int32_t_uint32_t() { ; CHECK-NEXT: lwa r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 ret i32 %0 } @@ -955,7 +947,7 @@ define dso_local signext i32 @ld_cst_align64_int32_t_uint32_t() { ; CHECK-PREP10-NEXT: lwa r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i32 %0 } @@ -971,14 +963,14 @@ define dso_local signext i32 @ld_0_int32_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: lwa r3, 4(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_unalign16_int32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_unalign16_int32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_unalign16_int32_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plwa r3, 1(r3), 0 @@ -1013,15 +1005,14 @@ define dso_local signext i32 @ld_unalign16_int32_t_uint64_t(i8* nocapture readon ; CHECK-P8-BE-NEXT: lwax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align16_int32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align16_int32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_int32_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lwa r3, 8(r3) @@ -1032,15 +1023,14 @@ define dso_local signext i32 @ld_align16_int32_t_uint64_t(i8* nocapture readonly ; CHECK-BE-NEXT: lwa r3, 12(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align32_int32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align32_int32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_int32_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plwa r3, 99999000(r3), 0 @@ -1079,15 +1069,14 @@ define dso_local signext i32 @ld_align32_int32_t_uint64_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lwax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align64_int32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align64_int32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_int32_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -1137,15 +1126,14 @@ define dso_local signext i32 @ld_align64_int32_t_uint64_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lwax r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_reg_int32_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i32 @ld_reg_int32_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_int32_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lwax r3, r3, r4 @@ -1157,10 +1145,9 @@ define dso_local signext i32 @ld_reg_int32_t_uint64_t(i8* nocapture readonly %pt ; CHECK-BE-NEXT: lwa r3, 4(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -1180,8 +1167,8 @@ define dso_local signext i32 @ld_or_int32_t_uint64_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i32 ret i32 %conv1 } @@ -1204,8 +1191,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i32 ret i32 %conv1 } @@ -1225,8 +1212,8 @@ define dso_local signext i32 @ld_not_disjoint16_int32_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1275,8 +1262,8 @@ define dso_local signext i32 @ld_disjoint_unalign16_int32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1297,8 +1284,8 @@ define dso_local signext i32 @ld_disjoint_align16_int32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1320,8 +1307,8 @@ define dso_local signext i32 @ld_not_disjoint32_int32_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1380,8 +1367,8 @@ define dso_local signext i32 @ld_disjoint_align32_int32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1447,8 +1434,8 @@ define dso_local signext i32 @ld_not_disjoint64_int32_t_uint64_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1512,8 +1499,8 @@ define dso_local signext i32 @ld_disjoint_align64_int32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -1530,7 +1517,7 @@ define dso_local signext i32 @ld_cst_align16_int32_t_uint64_t() { ; CHECK-BE-NEXT: lwa r3, 4084(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -1549,7 +1536,7 @@ define dso_local signext i32 @ld_cst_align32_int32_t_uint64_t() { ; CHECK-BE-NEXT: lwa r3, -27104(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -1605,7 +1592,7 @@ define dso_local signext i32 @ld_cst_align64_int32_t_uint64_t() { ; CHECK-P8-BE-NEXT: lwa r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -1620,14 +1607,14 @@ define dso_local signext i32 @ld_0_int32_t_float(i64 %ptr) { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align16_int32_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align16_int32_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -1636,15 +1623,14 @@ define dso_local signext i32 @ld_align16_int32_t_float(i8* nocapture readonly %p ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align32_int32_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align32_int32_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -1663,15 +1649,14 @@ define dso_local signext i32 @ld_align32_int32_t_float(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align64_int32_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align64_int32_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1693,15 +1678,14 @@ define dso_local signext i32 @ld_align64_int32_t_float(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_reg_int32_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i32 @ld_reg_int32_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -1710,10 +1694,9 @@ define dso_local signext i32 @ld_reg_int32_t_float(i8* nocapture readonly %ptr, ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i32 ret i32 %conv } @@ -1730,8 +1713,8 @@ define dso_local signext i32 @ld_or_int32_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptosi float %1 to i32 ret i32 %conv1 } @@ -1750,8 +1733,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptosi float %1 to i32 ret i32 %conv1 } @@ -1768,8 +1751,8 @@ define dso_local signext i32 @ld_not_disjoint16_int32_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i32 ret i32 %conv } @@ -1787,8 +1770,8 @@ define dso_local signext i32 @ld_disjoint_align16_int32_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptosi float %1 to i32 ret i32 %conv } @@ -1806,8 +1789,8 @@ define dso_local signext i32 @ld_not_disjoint32_int32_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i32 ret i32 %conv } @@ -1850,8 +1833,8 @@ define dso_local signext i32 @ld_disjoint_align32_int32_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptosi float %1 to i32 ret i32 %conv } @@ -1884,8 +1867,8 @@ define dso_local signext i32 @ld_not_disjoint64_int32_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i32 ret i32 %conv } @@ -1917,8 +1900,8 @@ define dso_local signext i32 @ld_disjoint_align64_int32_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptosi float %1 to i32 ret i32 %conv } @@ -1933,7 +1916,7 @@ define dso_local signext i32 @ld_cst_align16_int32_t_float() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi float %0 to i32 ret i32 %conv } @@ -1949,7 +1932,7 @@ define dso_local signext i32 @ld_cst_align32_int32_t_float() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptosi float %0 to i32 ret i32 %conv } @@ -1977,7 +1960,7 @@ define dso_local signext i32 @ld_cst_align64_int32_t_float() { ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi float %0 to i32 ret i32 %conv } @@ -1992,14 +1975,14 @@ define dso_local signext i32 @ld_0_int32_t_double(i64 %ptr) { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align16_int32_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align16_int32_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -2008,15 +1991,14 @@ define dso_local signext i32 @ld_align16_int32_t_double(i8* nocapture readonly % ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align32_int32_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align32_int32_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2035,15 +2017,14 @@ define dso_local signext i32 @ld_align32_int32_t_double(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_align64_int32_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i32 @ld_align64_int32_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2065,15 +2046,14 @@ define dso_local signext i32 @ld_align64_int32_t_double(i8* nocapture readonly % ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i32 @ld_reg_int32_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i32 @ld_reg_int32_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -2082,10 +2062,9 @@ define dso_local signext i32 @ld_reg_int32_t_double(i8* nocapture readonly %ptr, ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i32 ret i32 %conv } @@ -2102,8 +2081,8 @@ define dso_local signext i32 @ld_or_int32_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptosi double %1 to i32 ret i32 %conv1 } @@ -2122,8 +2101,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptosi double %1 to i32 ret i32 %conv1 } @@ -2140,8 +2119,8 @@ define dso_local signext i32 @ld_not_disjoint16_int32_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i32 ret i32 %conv } @@ -2159,8 +2138,8 @@ define dso_local signext i32 @ld_disjoint_align16_int32_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i32 ret i32 %conv } @@ -2178,8 +2157,8 @@ define dso_local signext i32 @ld_not_disjoint32_int32_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i32 ret i32 %conv } @@ -2222,8 +2201,8 @@ define dso_local signext i32 @ld_disjoint_align32_int32_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptosi double %1 to i32 ret i32 %conv } @@ -2256,8 +2235,8 @@ define dso_local signext i32 @ld_not_disjoint64_int32_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i32 ret i32 %conv } @@ -2289,8 +2268,8 @@ define dso_local signext i32 @ld_disjoint_align64_int32_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptosi double %1 to i32 ret i32 %conv } @@ -2305,7 +2284,7 @@ define dso_local signext i32 @ld_cst_align16_int32_t_double() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi double %0 to i32 ret i32 %conv } @@ -2321,7 +2300,7 @@ define dso_local signext i32 @ld_cst_align32_int32_t_double() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptosi double %0 to i32 ret i32 %conv } @@ -2349,7 +2328,7 @@ define dso_local signext i32 @ld_cst_align64_int32_t_double() { ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi double %0 to i32 ret i32 %conv } @@ -2361,27 +2340,27 @@ define dso_local zeroext i32 @ld_0_uint32_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: lbz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -2394,14 +2373,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_uint8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2417,21 +2396,21 @@ define dso_local zeroext i32 @ld_align64_uint32_t_uint8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i32 ret i32 %conv } @@ -2446,8 +2425,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_uint8_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = zext i8 %1 to i32 ret i32 %conv1 } @@ -2461,8 +2440,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i32 ret i32 %conv } @@ -2477,8 +2456,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = zext i8 %1 to i32 ret i32 %conv } @@ -2493,8 +2472,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i32 ret i32 %conv } @@ -2528,8 +2507,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = zext i8 %1 to i32 ret i32 %conv } @@ -2556,8 +2535,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_uint8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i32 ret i32 %conv } @@ -2583,8 +2562,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = zext i8 %1 to i32 ret i32 %conv } @@ -2596,7 +2575,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_uint8_t() { ; CHECK-NEXT: lbz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = zext i8 %0 to i32 ret i32 %conv } @@ -2609,7 +2588,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_uint8_t() { ; CHECK-NEXT: lbz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = zext i8 %0 to i32 ret i32 %conv } @@ -2631,7 +2610,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_uint8_t() { ; CHECK-PREP10-NEXT: lbz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = zext i8 %0 to i32 ret i32 %conv } @@ -2645,14 +2624,14 @@ define dso_local zeroext i32 @ld_0_uint32_t_int8_t(i64 %ptr) { ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) @@ -2660,14 +2639,14 @@ define dso_local zeroext i32 @ld_align16_uint32_t_int8_t(i8* nocapture readonly ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -2684,14 +2663,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_int8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: clrldi r3, r3, 32 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2711,14 +2690,14 @@ define dso_local zeroext i32 @ld_align64_uint32_t_int8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: clrldi r3, r3, 32 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 @@ -2726,8 +2705,8 @@ define dso_local zeroext i32 @ld_reg_uint32_t_int8_t(i8* nocapture readonly %ptr ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -2744,8 +2723,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i32 ret i32 %conv1 } @@ -2761,8 +2740,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -2779,8 +2758,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -2797,8 +2776,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -2838,8 +2817,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -2870,8 +2849,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_int8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -2901,8 +2880,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sext i8 %1 to i32 ret i32 %conv } @@ -2916,7 +2895,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_int8_t() { ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -2931,7 +2910,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_int8_t() { ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -2957,7 +2936,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_int8_t() { ; CHECK-PREP10-NEXT: clrldi r3, r3, 32 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i8 %0 to i32 ret i32 %conv } @@ -2969,28 +2948,27 @@ define dso_local zeroext i32 @ld_0_uint32_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: lhz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plhz r3, 99999000(r3), 0 @@ -3003,15 +2981,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_uint16_t(i8* nocapture readonl ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3027,24 +3004,22 @@ define dso_local zeroext i32 @ld_align64_uint32_t_uint16_t(i8* nocapture readonl ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i32 ret i32 %conv } @@ -3058,8 +3033,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_uint16_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = zext i16 %1 to i32 ret i32 %conv1 } @@ -3073,8 +3048,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i32 ret i32 %conv } @@ -3089,8 +3064,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = zext i16 %1 to i32 ret i32 %conv } @@ -3105,8 +3080,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i32 ret i32 %conv } @@ -3140,8 +3115,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = zext i16 %1 to i32 ret i32 %conv } @@ -3168,8 +3143,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_uint16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i32 ret i32 %conv } @@ -3195,8 +3170,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = zext i16 %1 to i32 ret i32 %conv } @@ -3208,7 +3183,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_uint16_t() { ; CHECK-NEXT: lhz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = zext i16 %0 to i32 ret i32 %conv } @@ -3221,7 +3196,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_uint16_t() { ; CHECK-NEXT: lhz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = zext i16 %0 to i32 ret i32 %conv } @@ -3243,7 +3218,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_uint16_t() { ; CHECK-PREP10-NEXT: lhz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = zext i16 %0 to i32 ret i32 %conv } @@ -3256,29 +3231,28 @@ define dso_local zeroext i32 @ld_0_uint32_t_int16_t(i64 %ptr) { ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lha r3, 8(r3) ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plha r3, 99999000(r3), 0 @@ -3293,15 +3267,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_int16_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: clrldi r3, r3, 32 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3319,25 +3292,23 @@ define dso_local zeroext i32 @ld_align64_uint32_t_int16_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: clrldi r3, r3, 32 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_int16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_int16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhax r3, r3, r4 ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i32 ret i32 %conv } @@ -3352,8 +3323,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_int16_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sext i16 %1 to i32 ret i32 %conv1 } @@ -3368,8 +3339,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_int16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -3385,8 +3356,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -3402,8 +3373,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_int16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -3440,8 +3411,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -3470,8 +3441,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_int16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -3499,8 +3470,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = sext i16 %1 to i32 ret i32 %conv } @@ -3513,7 +3484,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_int16_t() { ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -3527,7 +3498,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_int16_t() { ; CHECK-NEXT: clrldi r3, r3, 32 ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -3551,7 +3522,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_int16_t() { ; CHECK-PREP10-NEXT: clrldi r3, r3, 32 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i16 %0 to i32 ret i32 %conv } @@ -3563,26 +3534,25 @@ define dso_local zeroext i32 @ld_0_uint32_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: lwz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwz r3, 99999000(r3), 0 @@ -3595,14 +3565,13 @@ define dso_local zeroext i32 @ld_align32_uint32_t_uint32_t(i8* nocapture readonl ; CHECK-PREP10-NEXT: lwzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3618,23 +3587,21 @@ define dso_local zeroext i32 @ld_align64_uint32_t_uint32_t(i8* nocapture readonl ; CHECK-PREP10-NEXT: lwzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - ret i32 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + ret i32 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -3647,8 +3614,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_uint32_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -3661,8 +3628,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -3676,8 +3643,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 ret i32 %1 } @@ -3691,8 +3658,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -3725,8 +3692,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 ret i32 %1 } @@ -3752,8 +3719,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_uint32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 ret i32 %1 } @@ -3778,8 +3745,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 ret i32 %1 } @@ -3790,7 +3757,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_uint32_t() { ; CHECK-NEXT: lwz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 ret i32 %0 } @@ -3802,7 +3769,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_uint32_t() { ; CHECK-NEXT: lwz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 ret i32 %0 } @@ -3823,7 +3790,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_uint32_t() { ; CHECK-PREP10-NEXT: lwz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i32 %0 } @@ -3839,14 +3806,14 @@ define dso_local zeroext i32 @ld_0_uint32_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: lwz r3, 4(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_uint32_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lwz r3, 8(r3) @@ -3857,15 +3824,14 @@ define dso_local zeroext i32 @ld_align16_uint32_t_uint64_t(i8* nocapture readonl ; CHECK-BE-NEXT: lwz r3, 12(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_uint32_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plwz r3, 99999000(r3), 0 @@ -3904,15 +3870,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_uint64_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lwzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_uint32_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -3962,15 +3927,14 @@ define dso_local zeroext i32 @ld_align64_uint32_t_uint64_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lwzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_uint32_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lwzx r3, r3, r4 @@ -3982,10 +3946,9 @@ define dso_local zeroext i32 @ld_reg_uint32_t_uint64_t(i8* nocapture readonly %p ; CHECK-BE-NEXT: lwz r3, 4(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -4005,8 +3968,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_uint64_t(i64 %ptr, i8 zeroext %off) entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i32 ret i32 %conv1 } @@ -4026,8 +3989,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -4048,8 +4011,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -4071,8 +4034,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -4131,8 +4094,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -4198,8 +4161,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_uint64_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -4263,8 +4226,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = trunc i64 %1 to i32 ret i32 %conv } @@ -4281,7 +4244,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_uint64_t() { ; CHECK-BE-NEXT: lwz r3, 4084(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -4300,7 +4263,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_uint64_t() { ; CHECK-BE-NEXT: lwz r3, -27104(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -4356,7 +4319,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_uint64_t() { ; CHECK-P8-BE-NEXT: lwz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i64 %0 to i32 ret i32 %conv } @@ -4370,14 +4333,14 @@ define dso_local zeroext i32 @ld_0_uint32_t_float(i64 %ptr) { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -4385,15 +4348,14 @@ define dso_local zeroext i32 @ld_align16_uint32_t_float(i8* nocapture readonly % ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -4410,15 +4372,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_float(i8* nocapture readonly % ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -4438,15 +4399,14 @@ define dso_local zeroext i32 @ld_align64_uint32_t_float(i8* nocapture readonly % ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -4454,10 +4414,9 @@ define dso_local zeroext i32 @ld_reg_uint32_t_float(i8* nocapture readonly %ptr, ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i32 ret i32 %conv } @@ -4473,8 +4432,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptoui float %1 to i32 ret i32 %conv1 } @@ -4490,8 +4449,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i32 ret i32 %conv } @@ -4508,8 +4467,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptoui float %1 to i32 ret i32 %conv } @@ -4526,8 +4485,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i32 ret i32 %conv } @@ -4567,8 +4526,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptoui float %1 to i32 ret i32 %conv } @@ -4599,8 +4558,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i32 ret i32 %conv } @@ -4630,8 +4589,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptoui float %1 to i32 ret i32 %conv } @@ -4645,7 +4604,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_float() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui float %0 to i32 ret i32 %conv } @@ -4660,7 +4619,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_float() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptoui float %0 to i32 ret i32 %conv } @@ -4686,7 +4645,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_float() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui float %0 to i32 ret i32 %conv } @@ -4700,14 +4659,14 @@ define dso_local zeroext i32 @ld_0_uint32_t_double(i64 %ptr) { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align16_uint32_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align16_uint32_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -4715,15 +4674,14 @@ define dso_local zeroext i32 @ld_align16_uint32_t_double(i8* nocapture readonly ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align32_uint32_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align32_uint32_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -4740,15 +4698,14 @@ define dso_local zeroext i32 @ld_align32_uint32_t_double(i8* nocapture readonly ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_align64_uint32_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i32 @ld_align64_uint32_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -4768,15 +4725,14 @@ define dso_local zeroext i32 @ld_align64_uint32_t_double(i8* nocapture readonly ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i32 ret i32 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i32 @ld_reg_uint32_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i32 @ld_reg_uint32_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -4784,10 +4740,9 @@ define dso_local zeroext i32 @ld_reg_uint32_t_double(i8* nocapture readonly %ptr ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i32 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i32 ret i32 %conv } @@ -4803,8 +4758,8 @@ define dso_local zeroext i32 @ld_or_uint32_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptoui double %1 to i32 ret i32 %conv1 } @@ -4820,8 +4775,8 @@ define dso_local zeroext i32 @ld_not_disjoint16_uint32_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i32 ret i32 %conv } @@ -4838,8 +4793,8 @@ define dso_local zeroext i32 @ld_disjoint_align16_uint32_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i32 ret i32 %conv } @@ -4856,8 +4811,8 @@ define dso_local zeroext i32 @ld_not_disjoint32_uint32_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i32 ret i32 %conv } @@ -4897,8 +4852,8 @@ define dso_local zeroext i32 @ld_disjoint_align32_uint32_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptoui double %1 to i32 ret i32 %conv } @@ -4929,8 +4884,8 @@ define dso_local zeroext i32 @ld_not_disjoint64_uint32_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i32 ret i32 %conv } @@ -4960,8 +4915,8 @@ define dso_local zeroext i32 @ld_disjoint_align64_uint32_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptoui double %1 to i32 ret i32 %conv } @@ -4975,7 +4930,7 @@ define dso_local zeroext i32 @ld_cst_align16_uint32_t_double() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui double %0 to i32 ret i32 %conv } @@ -4990,7 +4945,7 @@ define dso_local zeroext i32 @ld_cst_align32_uint32_t_double() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptoui double %0 to i32 ret i32 %conv } @@ -5016,7 +4971,7 @@ define dso_local zeroext i32 @ld_cst_align64_uint32_t_double() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui double %0 to i32 ret i32 %conv } @@ -5029,26 +4984,26 @@ define dso_local void @st_0_uint32_t_uint8_t(i64 %ptr, i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint32_t_uint8_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align16_uint32_t_uint8_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-LABEL: st_align16_uint32_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stb r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint32_t_uint8_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align32_uint32_t_uint8_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint32_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstb r4, 99999000(r3), 0 @@ -5062,13 +5017,13 @@ define dso_local void @st_align32_uint32_t_uint8_t(i8* nocapture %ptr, i32 zeroe ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i32 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint32_t_uint8_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align64_uint32_t_uint8_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint32_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5085,21 +5040,21 @@ define dso_local void @st_align64_uint32_t_uint8_t(i8* nocapture %ptr, i32 zeroe ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i32 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint32_t_uint8_t(i8* nocapture %ptr, i64 %off, i32 zeroext %str) { +define dso_local void @st_reg_uint32_t_uint8_t(ptr nocapture %ptr, i64 %off, i32 zeroext %str) { ; CHECK-LABEL: st_reg_uint32_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stbx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -5114,8 +5069,8 @@ entry: %conv = trunc i32 %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5129,8 +5084,8 @@ define dso_local void @st_not_disjoint16_uint32_t_uint8_t(i64 %ptr, i32 zeroext entry: %conv = trunc i32 %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5145,8 +5100,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i32 %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -5161,8 +5116,8 @@ define dso_local void @st_not_disjoint32_uint32_t_uint8_t(i64 %ptr, i32 zeroext entry: %conv = trunc i32 %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5196,8 +5151,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i32 %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -5224,8 +5179,8 @@ define dso_local void @st_not_disjoint64_uint32_t_uint8_t(i64 %ptr, i32 zeroext entry: %conv = trunc i32 %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5251,8 +5206,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i32 %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -5264,7 +5219,7 @@ define dso_local void @st_cst_align16_uint32_t_uint8_t(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5277,7 +5232,7 @@ define dso_local void @st_cst_align32_uint32_t_uint8_t(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5299,7 +5254,7 @@ define dso_local void @st_cst_align64_uint32_t_uint8_t(i32 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i32 %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5311,27 +5266,26 @@ define dso_local void @st_0_uint32_t_uint16_t(i64 %ptr, i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint32_t_uint16_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align16_uint32_t_uint16_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-LABEL: st_align16_uint32_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sth r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint32_t_uint16_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align32_uint32_t_uint16_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint32_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: psth r4, 99999000(r3), 0 @@ -5345,14 +5299,13 @@ define dso_local void @st_align32_uint32_t_uint16_t(i8* nocapture %ptr, i32 zero ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i32 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint32_t_uint16_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align64_uint32_t_uint16_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint32_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5369,23 +5322,21 @@ define dso_local void @st_align64_uint32_t_uint16_t(i8* nocapture %ptr, i32 zero ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i32 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint32_t_uint16_t(i8* nocapture %ptr, i64 %off, i32 zeroext %str) { +define dso_local void @st_reg_uint32_t_uint16_t(ptr nocapture %ptr, i64 %off, i32 zeroext %str) { ; CHECK-LABEL: st_reg_uint32_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sthx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -5400,8 +5351,8 @@ entry: %conv = trunc i32 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5415,8 +5366,8 @@ define dso_local void @st_not_disjoint16_uint32_t_uint16_t(i64 %ptr, i32 zeroext entry: %conv = trunc i32 %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5431,8 +5382,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i32 %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -5447,8 +5398,8 @@ define dso_local void @st_not_disjoint32_uint32_t_uint16_t(i64 %ptr, i32 zeroext entry: %conv = trunc i32 %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5482,8 +5433,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i32 %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -5510,8 +5461,8 @@ define dso_local void @st_not_disjoint64_uint32_t_uint16_t(i64 %ptr, i32 zeroext entry: %conv = trunc i32 %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5537,8 +5488,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i32 %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -5550,7 +5501,7 @@ define dso_local void @st_cst_align16_uint32_t_uint16_t(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5563,7 +5514,7 @@ define dso_local void @st_cst_align32_uint32_t_uint16_t(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = trunc i32 %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5585,7 +5536,7 @@ define dso_local void @st_cst_align64_uint32_t_uint16_t(i32 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i32 %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5596,26 +5547,25 @@ define dso_local void @st_0_uint32_t_uint32_t(i64 %ptr, i32 zeroext %str) { ; CHECK-NEXT: stw r4, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - store i32 %str, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %str, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint32_t_uint32_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align16_uint32_t_uint32_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-LABEL: st_align16_uint32_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw r4, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %str, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %str, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint32_t_uint32_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align32_uint32_t_uint32_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint32_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstw r4, 99999000(r3), 0 @@ -5628,14 +5578,13 @@ define dso_local void @st_align32_uint32_t_uint32_t(i8* nocapture %ptr, i32 zero ; CHECK-PREP10-NEXT: stwx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %str, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %str, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint32_t_uint32_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align64_uint32_t_uint32_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint32_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5651,22 +5600,20 @@ define dso_local void @st_align64_uint32_t_uint32_t(i8* nocapture %ptr, i32 zero ; CHECK-PREP10-NEXT: stwx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %str, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %str, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint32_t_uint32_t(i8* nocapture %ptr, i64 %off, i32 zeroext %str) { +define dso_local void @st_reg_uint32_t_uint32_t(ptr nocapture %ptr, i64 %off, i32 zeroext %str) { ; CHECK-LABEL: st_reg_uint32_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stwx r5, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %str, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %str, ptr %add.ptr, align 4 ret void } @@ -5680,8 +5627,8 @@ define dso_local void @st_or1_uint32_t_uint32_t(i64 %ptr, i8 zeroext %off, i32 z entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 4 ret void } @@ -5694,8 +5641,8 @@ define dso_local void @st_not_disjoint16_uint32_t_uint32_t(i64 %ptr, i32 zeroext ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 4 ret void } @@ -5709,8 +5656,8 @@ define dso_local void @st_disjoint_align16_uint32_t_uint32_t(i64 %ptr, i32 zeroe entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 8 ret void } @@ -5724,8 +5671,8 @@ define dso_local void @st_not_disjoint32_uint32_t_uint32_t(i64 %ptr, i32 zeroext ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 4 ret void } @@ -5758,8 +5705,8 @@ define dso_local void @st_disjoint_align32_uint32_t_uint32_t(i64 %ptr, i32 zeroe entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 16 ret void } @@ -5785,8 +5732,8 @@ define dso_local void @st_not_disjoint64_uint32_t_uint32_t(i64 %ptr, i32 zeroext ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 4 ret void } @@ -5811,8 +5758,8 @@ define dso_local void @st_disjoint_align64_uint32_t_uint32_t(i64 %ptr, i32 zeroe entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %str, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %str, ptr %0, align 4096 ret void } @@ -5823,7 +5770,7 @@ define dso_local void @st_cst_align16_uint32_t_uint32_t(i32 zeroext %str) { ; CHECK-NEXT: stw r3, 4080(0) ; CHECK-NEXT: blr entry: - store i32 %str, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %str, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5835,7 +5782,7 @@ define dso_local void @st_cst_align32_uint32_t_uint32_t(i32 zeroext %str) { ; CHECK-NEXT: stw r3, -27108(r4) ; CHECK-NEXT: blr entry: - store i32 %str, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %str, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5856,7 +5803,7 @@ define dso_local void @st_cst_align64_uint32_t_uint32_t(i32 zeroext %str) { ; CHECK-PREP10-NEXT: stw r3, 0(r4) ; CHECK-PREP10-NEXT: blr entry: - store i32 %str, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %str, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5868,27 +5815,26 @@ define dso_local void @st_0_uint32_t_uint64_t(i64 %ptr, i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i32 %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint32_t_uint64_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align16_uint32_t_uint64_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-LABEL: st_align16_uint32_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = zext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint32_t_uint64_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align32_uint32_t_uint64_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint32_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -5902,14 +5848,13 @@ define dso_local void @st_align32_uint32_t_uint64_t(i8* nocapture %ptr, i32 zero ; CHECK-PREP10-NEXT: blr entry: %conv = zext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint32_t_uint64_t(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align64_uint32_t_uint64_t(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint32_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5926,23 +5871,21 @@ define dso_local void @st_align64_uint32_t_uint64_t(i8* nocapture %ptr, i32 zero ; CHECK-PREP10-NEXT: blr entry: %conv = zext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint32_t_uint64_t(i8* nocapture %ptr, i64 %off, i32 zeroext %str) { +define dso_local void @st_reg_uint32_t_uint64_t(ptr nocapture %ptr, i64 %off, i32 zeroext %str) { ; CHECK-LABEL: st_reg_uint32_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = zext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -5957,8 +5900,8 @@ entry: %conv = zext i32 %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -5972,8 +5915,8 @@ define dso_local void @st_not_disjoint16_uint32_t_uint64_t(i64 %ptr, i32 zeroext entry: %conv = zext i32 %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -5988,8 +5931,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i32 %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6004,8 +5947,8 @@ define dso_local void @st_not_disjoint32_uint32_t_uint64_t(i64 %ptr, i32 zeroext entry: %conv = zext i32 %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6039,8 +5982,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = zext i32 %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -6067,8 +6010,8 @@ define dso_local void @st_not_disjoint64_uint32_t_uint64_t(i64 %ptr, i32 zeroext entry: %conv = zext i32 %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -6094,8 +6037,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = zext i32 %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -6107,7 +6050,7 @@ define dso_local void @st_cst_align16_uint32_t_uint64_t(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i32 %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6120,7 +6063,7 @@ define dso_local void @st_cst_align32_uint32_t_uint64_t(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i32 %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6142,7 +6085,7 @@ define dso_local void @st_cst_align64_uint32_t_uint64_t(i32 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = zext i32 %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6156,13 +6099,13 @@ define dso_local void @st_0_uint32_t_float(i64 %ptr, i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint32_t_float(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align16_uint32_t_float(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-LABEL: st_align16_uint32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r4 @@ -6171,14 +6114,13 @@ define dso_local void @st_align16_uint32_t_float(i8* nocapture %ptr, i32 zeroext ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint32_t_float(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align32_uint32_t_float(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6205,14 +6147,13 @@ define dso_local void @st_align32_uint32_t_float(i8* nocapture %ptr, i32 zeroext ; CHECK-P8-NEXT: blr entry: %conv = uitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint32_t_float(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align64_uint32_t_float(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6243,14 +6184,13 @@ define dso_local void @st_align64_uint32_t_float(i8* nocapture %ptr, i32 zeroext ; CHECK-P8-NEXT: blr entry: %conv = uitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint32_t_float(i8* nocapture %ptr, i64 %off, i32 zeroext %str) { +define dso_local void @st_reg_uint32_t_float(ptr nocapture %ptr, i64 %off, i32 zeroext %str) { ; CHECK-LABEL: st_reg_uint32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r5 @@ -6259,9 +6199,8 @@ define dso_local void @st_reg_uint32_t_float(i8* nocapture %ptr, i64 %off, i32 z ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -6278,8 +6217,8 @@ entry: %conv = uitofp i32 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6295,8 +6234,8 @@ define dso_local void @st_not_disjoint16_uint32_t_float(i64 %ptr, i32 zeroext %s entry: %conv = uitofp i32 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6313,8 +6252,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i32 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -6349,8 +6288,8 @@ define dso_local void @st_not_disjoint32_uint32_t_float(i64 %ptr, i32 zeroext %s entry: %conv = uitofp i32 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6390,8 +6329,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i32 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -6422,8 +6361,8 @@ define dso_local void @st_not_disjoint64_uint32_t_float(i64 %ptr, i32 zeroext %s entry: %conv = uitofp i32 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6464,8 +6403,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i32 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -6479,7 +6418,7 @@ define dso_local void @st_cst_align16_uint32_t_float(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6494,7 +6433,7 @@ define dso_local void @st_cst_align32_uint32_t_float(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6530,7 +6469,7 @@ define dso_local void @st_cst_align64_uint32_t_float(i32 zeroext %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i32 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6544,13 +6483,13 @@ define dso_local void @st_0_uint32_t_double(i64 %ptr, i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint32_t_double(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align16_uint32_t_double(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-LABEL: st_align16_uint32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r4 @@ -6559,14 +6498,13 @@ define dso_local void @st_align16_uint32_t_double(i8* nocapture %ptr, i32 zeroex ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint32_t_double(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align32_uint32_t_double(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6593,14 +6531,13 @@ define dso_local void @st_align32_uint32_t_double(i8* nocapture %ptr, i32 zeroex ; CHECK-P8-NEXT: blr entry: %conv = uitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint32_t_double(i8* nocapture %ptr, i32 zeroext %str) { +define dso_local void @st_align64_uint32_t_double(ptr nocapture %ptr, i32 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -6631,14 +6568,13 @@ define dso_local void @st_align64_uint32_t_double(i8* nocapture %ptr, i32 zeroex ; CHECK-P8-NEXT: blr entry: %conv = uitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint32_t_double(i8* nocapture %ptr, i64 %off, i32 zeroext %str) { +define dso_local void @st_reg_uint32_t_double(ptr nocapture %ptr, i64 %off, i32 zeroext %str) { ; CHECK-LABEL: st_reg_uint32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r5 @@ -6647,9 +6583,8 @@ define dso_local void @st_reg_uint32_t_double(i8* nocapture %ptr, i64 %off, i32 ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -6666,8 +6601,8 @@ entry: %conv = uitofp i32 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6683,8 +6618,8 @@ define dso_local void @st_not_disjoint16_uint32_t_double(i64 %ptr, i32 zeroext % entry: %conv = uitofp i32 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6701,8 +6636,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i32 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6737,8 +6672,8 @@ define dso_local void @st_not_disjoint32_uint32_t_double(i64 %ptr, i32 zeroext % entry: %conv = uitofp i32 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6778,8 +6713,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i32 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -6810,8 +6745,8 @@ define dso_local void @st_not_disjoint64_uint32_t_double(i64 %ptr, i32 zeroext % entry: %conv = uitofp i32 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -6852,8 +6787,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i32 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -6867,7 +6802,7 @@ define dso_local void @st_cst_align16_uint32_t_double(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6882,7 +6817,7 @@ define dso_local void @st_cst_align32_uint32_t_double(i32 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i32 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6918,7 +6853,7 @@ define dso_local void @st_cst_align64_uint32_t_double(i32 zeroext %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i32 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6930,27 +6865,26 @@ define dso_local void @st_0_int32_t_uint64_t(i64 %ptr, i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i32 %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int32_t_uint64_t(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align16_int32_t_uint64_t(ptr nocapture %ptr, i32 signext %str) { ; CHECK-LABEL: st_align16_int32_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = sext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int32_t_uint64_t(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align32_int32_t_uint64_t(ptr nocapture %ptr, i32 signext %str) { ; CHECK-P10-LABEL: st_align32_int32_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -6964,14 +6898,13 @@ define dso_local void @st_align32_int32_t_uint64_t(i8* nocapture %ptr, i32 signe ; CHECK-PREP10-NEXT: blr entry: %conv = sext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int32_t_uint64_t(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align64_int32_t_uint64_t(ptr nocapture %ptr, i32 signext %str) { ; CHECK-P10-LABEL: st_align64_int32_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6988,23 +6921,21 @@ define dso_local void @st_align64_int32_t_uint64_t(i8* nocapture %ptr, i32 signe ; CHECK-PREP10-NEXT: blr entry: %conv = sext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int32_t_uint64_t(i8* nocapture %ptr, i64 %off, i32 signext %str) { +define dso_local void @st_reg_int32_t_uint64_t(ptr nocapture %ptr, i64 %off, i32 signext %str) { ; CHECK-LABEL: st_reg_int32_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = sext i32 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -7019,8 +6950,8 @@ entry: %conv = sext i32 %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7034,8 +6965,8 @@ define dso_local void @st_not_disjoint16_int32_t_uint64_t(i64 %ptr, i32 signext entry: %conv = sext i32 %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7050,8 +6981,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sext i32 %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7066,8 +6997,8 @@ define dso_local void @st_not_disjoint32_int32_t_uint64_t(i64 %ptr, i32 signext entry: %conv = sext i32 %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7101,8 +7032,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sext i32 %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -7129,8 +7060,8 @@ define dso_local void @st_not_disjoint64_int32_t_uint64_t(i64 %ptr, i32 signext entry: %conv = sext i32 %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7156,8 +7087,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sext i32 %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -7169,7 +7100,7 @@ define dso_local void @st_cst_align16_int32_t_uint64_t(i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i32 %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7182,7 +7113,7 @@ define dso_local void @st_cst_align32_int32_t_uint64_t(i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i32 %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7204,7 +7135,7 @@ define dso_local void @st_cst_align64_int32_t_uint64_t(i32 signext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = sext i32 %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7218,13 +7149,13 @@ define dso_local void @st_0_int32_t_float(i64 %ptr, i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int32_t_float(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align16_int32_t_float(ptr nocapture %ptr, i32 signext %str) { ; CHECK-LABEL: st_align16_int32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r4 @@ -7233,14 +7164,13 @@ define dso_local void @st_align16_int32_t_float(i8* nocapture %ptr, i32 signext ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int32_t_float(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align32_int32_t_float(ptr nocapture %ptr, i32 signext %str) { ; CHECK-P10-LABEL: st_align32_int32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7267,14 +7197,13 @@ define dso_local void @st_align32_int32_t_float(i8* nocapture %ptr, i32 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int32_t_float(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align64_int32_t_float(ptr nocapture %ptr, i32 signext %str) { ; CHECK-P10-LABEL: st_align64_int32_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7305,14 +7234,13 @@ define dso_local void @st_align64_int32_t_float(i8* nocapture %ptr, i32 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int32_t_float(i8* nocapture %ptr, i64 %off, i32 signext %str) { +define dso_local void @st_reg_int32_t_float(ptr nocapture %ptr, i64 %off, i32 signext %str) { ; CHECK-LABEL: st_reg_int32_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r5 @@ -7321,9 +7249,8 @@ define dso_local void @st_reg_int32_t_float(i8* nocapture %ptr, i64 %off, i32 si ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -7340,8 +7267,8 @@ entry: %conv = sitofp i32 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7357,8 +7284,8 @@ define dso_local void @st_not_disjoint16_int32_t_float(i64 %ptr, i32 signext %st entry: %conv = sitofp i32 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7375,8 +7302,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i32 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -7411,8 +7338,8 @@ define dso_local void @st_not_disjoint32_int32_t_float(i64 %ptr, i32 signext %st entry: %conv = sitofp i32 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7452,8 +7379,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i32 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -7484,8 +7411,8 @@ define dso_local void @st_not_disjoint64_int32_t_float(i64 %ptr, i32 signext %st entry: %conv = sitofp i32 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7526,8 +7453,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i32 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -7541,7 +7468,7 @@ define dso_local void @st_cst_align16_int32_t_float(i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7556,7 +7483,7 @@ define dso_local void @st_cst_align32_int32_t_float(i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7592,7 +7519,7 @@ define dso_local void @st_cst_align64_int32_t_float(i32 signext %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i32 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7606,13 +7533,13 @@ define dso_local void @st_0_int32_t_double(i64 %ptr, i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int32_t_double(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align16_int32_t_double(ptr nocapture %ptr, i32 signext %str) { ; CHECK-LABEL: st_align16_int32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r4 @@ -7621,14 +7548,13 @@ define dso_local void @st_align16_int32_t_double(i8* nocapture %ptr, i32 signext ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int32_t_double(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align32_int32_t_double(ptr nocapture %ptr, i32 signext %str) { ; CHECK-P10-LABEL: st_align32_int32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7655,14 +7581,13 @@ define dso_local void @st_align32_int32_t_double(i8* nocapture %ptr, i32 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int32_t_double(i8* nocapture %ptr, i32 signext %str) { +define dso_local void @st_align64_int32_t_double(ptr nocapture %ptr, i32 signext %str) { ; CHECK-P10-LABEL: st_align64_int32_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -7693,14 +7618,13 @@ define dso_local void @st_align64_int32_t_double(i8* nocapture %ptr, i32 signext ; CHECK-P8-NEXT: blr entry: %conv = sitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int32_t_double(i8* nocapture %ptr, i64 %off, i32 signext %str) { +define dso_local void @st_reg_int32_t_double(ptr nocapture %ptr, i64 %off, i32 signext %str) { ; CHECK-LABEL: st_reg_int32_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r5 @@ -7709,9 +7633,8 @@ define dso_local void @st_reg_int32_t_double(i8* nocapture %ptr, i64 %off, i32 s ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -7728,8 +7651,8 @@ entry: %conv = sitofp i32 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7745,8 +7668,8 @@ define dso_local void @st_not_disjoint16_int32_t_double(i64 %ptr, i32 signext %s entry: %conv = sitofp i32 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7763,8 +7686,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i32 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7799,8 +7722,8 @@ define dso_local void @st_not_disjoint32_int32_t_double(i64 %ptr, i32 signext %s entry: %conv = sitofp i32 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7840,8 +7763,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i32 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -7872,8 +7795,8 @@ define dso_local void @st_not_disjoint64_int32_t_double(i64 %ptr, i32 signext %s entry: %conv = sitofp i32 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7914,8 +7837,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i32 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -7929,7 +7852,7 @@ define dso_local void @st_cst_align16_int32_t_double(i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7944,7 +7867,7 @@ define dso_local void @st_cst_align32_int32_t_double(i32 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i32 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7980,6 +7903,6 @@ define dso_local void @st_cst_align64_int32_t_double(i32 signext %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i32 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } diff --git a/llvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll b/llvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll index a9f0bc3..ab07115 100644 --- a/llvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll +++ b/llvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll @@ -27,14 +27,14 @@ define dso_local i64 @ld_0_int64_t_float(i64 %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_int64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_int64_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -42,15 +42,14 @@ define dso_local i64 @ld_align16_int64_t_float(i8* nocapture readonly %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_int64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_int64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -67,15 +66,14 @@ define dso_local i64 @ld_align32_int64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_int64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_int64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -95,15 +93,14 @@ define dso_local i64 @ld_align64_int64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_int64_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_int64_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -111,10 +108,9 @@ define dso_local i64 @ld_reg_int64_t_float(i8* nocapture readonly %ptr, i64 %off ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i64 ret i64 %conv } @@ -130,8 +126,8 @@ define dso_local i64 @ld_or_int64_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptosi float %1 to i64 ret i64 %conv1 } @@ -147,8 +143,8 @@ define dso_local i64 @ld_not_disjoint16_int64_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i64 ret i64 %conv } @@ -165,8 +161,8 @@ define dso_local i64 @ld_disjoint_align16_int64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptosi float %1 to i64 ret i64 %conv } @@ -183,8 +179,8 @@ define dso_local i64 @ld_not_disjoint32_int64_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i64 ret i64 %conv } @@ -224,8 +220,8 @@ define dso_local i64 @ld_disjoint_align32_int64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptosi float %1 to i64 ret i64 %conv } @@ -256,8 +252,8 @@ define dso_local i64 @ld_not_disjoint64_int64_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i64 ret i64 %conv } @@ -287,8 +283,8 @@ define dso_local i64 @ld_disjoint_align64_int64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptosi float %1 to i64 ret i64 %conv } @@ -302,7 +298,7 @@ define dso_local i64 @ld_cst_align16_int64_t_float() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi float %0 to i64 ret i64 %conv } @@ -317,7 +313,7 @@ define dso_local i64 @ld_cst_align32_int64_t_float() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptosi float %0 to i64 ret i64 %conv } @@ -343,7 +339,7 @@ define dso_local i64 @ld_cst_align64_int64_t_float() { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi float %0 to i64 ret i64 %conv } @@ -357,14 +353,14 @@ define dso_local i64 @ld_0_int64_t_double(i64 %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_int64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_int64_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -372,15 +368,14 @@ define dso_local i64 @ld_align16_int64_t_double(i8* nocapture readonly %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_int64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_int64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -397,15 +392,14 @@ define dso_local i64 @ld_align32_int64_t_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_int64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_int64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -425,15 +419,14 @@ define dso_local i64 @ld_align64_int64_t_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_int64_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_int64_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -441,10 +434,9 @@ define dso_local i64 @ld_reg_int64_t_double(i8* nocapture readonly %ptr, i64 %of ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i64 ret i64 %conv } @@ -460,8 +452,8 @@ define dso_local i64 @ld_or_int64_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptosi double %1 to i64 ret i64 %conv1 } @@ -477,8 +469,8 @@ define dso_local i64 @ld_not_disjoint16_int64_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i64 ret i64 %conv } @@ -495,8 +487,8 @@ define dso_local i64 @ld_disjoint_align16_int64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i64 ret i64 %conv } @@ -513,8 +505,8 @@ define dso_local i64 @ld_not_disjoint32_int64_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i64 ret i64 %conv } @@ -554,8 +546,8 @@ define dso_local i64 @ld_disjoint_align32_int64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptosi double %1 to i64 ret i64 %conv } @@ -586,8 +578,8 @@ define dso_local i64 @ld_not_disjoint64_int64_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i64 ret i64 %conv } @@ -617,8 +609,8 @@ define dso_local i64 @ld_disjoint_align64_int64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptosi double %1 to i64 ret i64 %conv } @@ -632,7 +624,7 @@ define dso_local i64 @ld_cst_align16_int64_t_double() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi double %0 to i64 ret i64 %conv } @@ -647,7 +639,7 @@ define dso_local i64 @ld_cst_align32_int64_t_double() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptosi double %0 to i64 ret i64 %conv } @@ -673,7 +665,7 @@ define dso_local i64 @ld_cst_align64_int64_t_double() { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi double %0 to i64 ret i64 %conv } @@ -685,40 +677,40 @@ define dso_local i64 @ld_0_uint64_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: lbz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_unalign16_uint64_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 1(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999(r3), 0 @@ -731,14 +723,14 @@ define dso_local i64 @ld_unalign32_uint64_t_uint8_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -751,14 +743,14 @@ define dso_local i64 @ld_align32_uint64_t_uint8_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -776,14 +768,14 @@ define dso_local i64 @ld_unalign64_uint64_t_uint8_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -799,21 +791,21 @@ define dso_local i64 @ld_align64_uint64_t_uint8_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -828,8 +820,8 @@ define dso_local i64 @ld_or_uint64_t_uint8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = zext i8 %1 to i64 ret i64 %conv1 } @@ -845,8 +837,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = zext i8 %1 to i64 ret i64 %conv1 } @@ -860,8 +852,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -876,8 +868,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 2 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -892,8 +884,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -908,8 +900,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -932,8 +924,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -967,8 +959,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -995,8 +987,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_uint8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -1024,8 +1016,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -1051,8 +1043,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = zext i8 %1 to i64 ret i64 %conv } @@ -1064,7 +1056,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_uint8_t() { ; CHECK-NEXT: lbz r3, 255(0) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 255 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 255 to ptr), align 1 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -1076,7 +1068,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_uint8_t() { ; CHECK-NEXT: lbz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -1089,7 +1081,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_uint8_t() { ; CHECK-NEXT: lbz r3, -31073(r3) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 99999 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 99999 to ptr), align 1 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -1102,7 +1094,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_uint8_t() { ; CHECK-NEXT: lbz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -1126,7 +1118,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_uint8_t() { ; CHECK-PREP10-NEXT: lbz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000001 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 1000000000001 to ptr), align 1 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -1148,7 +1140,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_uint8_t() { ; CHECK-PREP10-NEXT: lbz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = zext i8 %0 to i64 ret i64 %conv } @@ -1161,42 +1153,42 @@ define dso_local i64 @ld_0_uint64_t_int8_t(i64 %ptr) { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_unalign16_uint64_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 1(r3) ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999(r3), 0 @@ -1211,14 +1203,14 @@ define dso_local i64 @ld_unalign32_uint64_t_int8_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -1233,14 +1225,14 @@ define dso_local i64 @ld_align32_uint64_t_int8_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -1260,14 +1252,14 @@ define dso_local i64 @ld_unalign64_uint64_t_int8_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_int8_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_int8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_int8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1285,22 +1277,22 @@ define dso_local i64 @ld_align64_uint64_t_int8_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_int8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_int8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_int8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1316,8 +1308,8 @@ define dso_local i64 @ld_or_uint64_t_int8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i64 ret i64 %conv1 } @@ -1334,8 +1326,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv1 = sext i8 %1 to i64 ret i64 %conv1 } @@ -1350,8 +1342,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1367,8 +1359,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 2 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1384,8 +1376,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1401,8 +1393,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_int8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1427,8 +1419,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1465,8 +1457,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1495,8 +1487,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_int8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1526,8 +1518,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1555,8 +1547,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_int8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 %conv = sext i8 %1 to i64 ret i64 %conv } @@ -1569,7 +1561,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 255 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 255 to ptr), align 1 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1582,7 +1574,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1596,7 +1588,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 99999 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 99999 to ptr), align 1 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1610,7 +1602,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_int8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1636,7 +1628,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_int8_t() { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000001 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 1000000000001 to ptr), align 1 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1660,7 +1652,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_int8_t() { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i8 %0 to i64 ret i64 %conv } @@ -1672,42 +1664,40 @@ define dso_local i64 @ld_0_uint64_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: lhz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_unalign16_uint64_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhz r3, 1(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plhz r3, 99999(r3), 0 @@ -1720,15 +1710,14 @@ define dso_local i64 @ld_unalign32_uint64_t_uint16_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plhz r3, 99999000(r3), 0 @@ -1741,15 +1730,14 @@ define dso_local i64 @ld_align32_uint64_t_uint16_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -1767,15 +1755,14 @@ define dso_local i64 @ld_unalign64_uint64_t_uint16_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -1791,24 +1778,22 @@ define dso_local i64 @ld_align64_uint64_t_uint16_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lhzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = zext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = zext i16 %0 to i64 ret i64 %conv } @@ -1822,8 +1807,8 @@ define dso_local i64 @ld_or_uint64_t_uint16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = zext i16 %1 to i64 ret i64 %conv1 } @@ -1839,8 +1824,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = zext i16 %1 to i64 ret i64 %conv1 } @@ -1854,8 +1839,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -1870,8 +1855,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -1886,8 +1871,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -1902,8 +1887,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_uint16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -1926,8 +1911,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -1961,8 +1946,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -1989,8 +1974,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_uint16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -2018,8 +2003,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -2045,8 +2030,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = zext i16 %1 to i64 ret i64 %conv } @@ -2058,7 +2043,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_uint16_t() { ; CHECK-NEXT: lhz r3, 255(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 255 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 255 to ptr), align 2 %conv = zext i16 %0 to i64 ret i64 %conv } @@ -2070,7 +2055,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_uint16_t() { ; CHECK-NEXT: lhz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = zext i16 %0 to i64 ret i64 %conv } @@ -2083,7 +2068,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_uint16_t() { ; CHECK-NEXT: lhz r3, -31073(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 99999 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 99999 to ptr), align 2 %conv = zext i16 %0 to i64 ret i64 %conv } @@ -2096,7 +2081,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_uint16_t() { ; CHECK-NEXT: lhz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = zext i16 %0 to i64 ret i64 %conv } @@ -2120,7 +2105,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_uint16_t() { ; CHECK-PREP10-NEXT: lhz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000001 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 1000000000001 to ptr), align 2 %conv = zext i16 %0 to i64 ret i64 %conv } @@ -2142,7 +2127,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_uint16_t() { ; CHECK-PREP10-NEXT: lhz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = zext i16 %0 to i64 ret i64 %conv } @@ -2154,42 +2139,40 @@ define dso_local i64 @ld_0_uint64_t_int16_t(i64 %ptr) { ; CHECK-NEXT: lha r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_unalign16_uint64_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lha r3, 1(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lha r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plha r3, 99999(r3), 0 @@ -2202,15 +2185,14 @@ define dso_local i64 @ld_unalign32_uint64_t_int16_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plha r3, 99999000(r3), 0 @@ -2223,15 +2205,14 @@ define dso_local i64 @ld_align32_uint64_t_int16_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -2249,15 +2230,14 @@ define dso_local i64 @ld_unalign64_uint64_t_int16_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_int16_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_int16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2273,24 +2253,22 @@ define dso_local i64 @ld_align64_uint64_t_int16_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lhax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_int16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_int16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lhax r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = sext i16 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2304,8 +2282,8 @@ define dso_local i64 @ld_or_uint64_t_int16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sext i16 %1 to i64 ret i64 %conv1 } @@ -2321,8 +2299,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = sext i16 %1 to i64 ret i64 %conv1 } @@ -2336,8 +2314,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_int16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2352,8 +2330,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2368,8 +2346,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2384,8 +2362,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_int16_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2408,8 +2386,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2443,8 +2421,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2471,8 +2449,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_int16_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2500,8 +2478,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2527,8 +2505,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_int16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = sext i16 %1 to i64 ret i64 %conv } @@ -2540,7 +2518,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_int16_t() { ; CHECK-NEXT: lha r3, 255(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 255 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 255 to ptr), align 2 %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2552,7 +2530,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_int16_t() { ; CHECK-NEXT: lha r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2565,7 +2543,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_int16_t() { ; CHECK-NEXT: lha r3, -31073(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 99999 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 99999 to ptr), align 2 %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2578,7 +2556,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_int16_t() { ; CHECK-NEXT: lha r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2602,7 +2580,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_int16_t() { ; CHECK-PREP10-NEXT: lha r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000001 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 1000000000001 to ptr), align 2 %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2624,7 +2602,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_int16_t() { ; CHECK-PREP10-NEXT: lha r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i16 %0 to i64 ret i64 %conv } @@ -2636,42 +2614,40 @@ define dso_local i64 @ld_0_uint64_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: lwz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_unalign16_uint64_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz r3, 1(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwz r3, 99999(r3), 0 @@ -2684,15 +2660,14 @@ define dso_local i64 @ld_unalign32_uint64_t_uint32_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: lwzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwz r3, 99999000(r3), 0 @@ -2705,15 +2680,14 @@ define dso_local i64 @ld_align32_uint64_t_uint32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lwzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -2731,15 +2705,14 @@ define dso_local i64 @ld_unalign64_uint64_t_uint32_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: lwzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2755,24 +2728,22 @@ define dso_local i64 @ld_align64_uint64_t_uint32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lwzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = zext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = zext i32 %0 to i64 ret i64 %conv } @@ -2786,8 +2757,8 @@ define dso_local i64 @ld_or_uint64_t_uint32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = zext i32 %1 to i64 ret i64 %conv1 } @@ -2803,8 +2774,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = zext i32 %1 to i64 ret i64 %conv1 } @@ -2818,8 +2789,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2834,8 +2805,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2850,8 +2821,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2866,8 +2837,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_uint32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2890,8 +2861,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2925,8 +2896,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2953,8 +2924,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_uint32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -2982,8 +2953,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -3009,8 +2980,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = zext i32 %1 to i64 ret i64 %conv } @@ -3022,7 +2993,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_uint32_t() { ; CHECK-NEXT: lwz r3, 255(0) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 255 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 255 to ptr), align 4 %conv = zext i32 %0 to i64 ret i64 %conv } @@ -3034,7 +3005,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_uint32_t() { ; CHECK-NEXT: lwz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = zext i32 %0 to i64 ret i64 %conv } @@ -3047,7 +3018,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_uint32_t() { ; CHECK-NEXT: lwz r3, -31073(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 99999 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 99999 to ptr), align 4 %conv = zext i32 %0 to i64 ret i64 %conv } @@ -3060,7 +3031,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_uint32_t() { ; CHECK-NEXT: lwz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = zext i32 %0 to i64 ret i64 %conv } @@ -3084,7 +3055,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_uint32_t() { ; CHECK-PREP10-NEXT: lwz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000001 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 1000000000001 to ptr), align 4 %conv = zext i32 %0 to i64 ret i64 %conv } @@ -3106,7 +3077,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_uint32_t() { ; CHECK-PREP10-NEXT: lwz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = zext i32 %0 to i64 ret i64 %conv } @@ -3118,14 +3089,14 @@ define dso_local i64 @ld_0_uint64_t_int32_t(i64 %ptr) { ; CHECK-NEXT: lwa r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_int32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign16_uint64_t_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwa r3, 1(r3), 0 @@ -3137,29 +3108,27 @@ define dso_local i64 @ld_unalign16_uint64_t_int32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_int32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_int32_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwa r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_int32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwa r3, 99999(r3), 0 @@ -3172,15 +3141,14 @@ define dso_local i64 @ld_unalign32_uint64_t_int32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_int32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plwa r3, 99999000(r3), 0 @@ -3193,15 +3161,14 @@ define dso_local i64 @ld_align32_uint64_t_int32_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_int32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -3219,15 +3186,14 @@ define dso_local i64 @ld_unalign64_uint64_t_int32_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_int32_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_int32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_int32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3243,24 +3209,22 @@ define dso_local i64 @ld_align64_uint64_t_int32_t(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: lwax r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_int32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_int32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_int32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwax r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = sext i32 %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3274,8 +3238,8 @@ define dso_local i64 @ld_or_uint64_t_int32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = sext i32 %1 to i64 ret i64 %conv1 } @@ -3291,8 +3255,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = sext i32 %1 to i64 ret i64 %conv1 } @@ -3306,8 +3270,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_int32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3336,8 +3300,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3352,8 +3316,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3368,8 +3332,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_int32_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3392,8 +3356,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3427,8 +3391,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3455,8 +3419,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_int32_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3484,8 +3448,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3511,8 +3475,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_int32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = sext i32 %1 to i64 ret i64 %conv } @@ -3525,7 +3489,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_int32_t() { ; CHECK-NEXT: lwa r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 255 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 255 to ptr), align 4 %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3537,7 +3501,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_int32_t() { ; CHECK-NEXT: lwa r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3557,7 +3521,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_int32_t() { ; CHECK-PREP10-NEXT: lwa r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 99999 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 99999 to ptr), align 4 %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3570,7 +3534,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_int32_t() { ; CHECK-NEXT: lwa r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3594,7 +3558,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_int32_t() { ; CHECK-PREP10-NEXT: lwa r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000001 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 1000000000001 to ptr), align 4 %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3616,7 +3580,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_int32_t() { ; CHECK-PREP10-NEXT: lwa r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = sext i32 %0 to i64 ret i64 %conv } @@ -3628,13 +3592,13 @@ define dso_local i64 @ld_0_uint64_t_uint64_t(i64 %ptr) { ; CHECK-NEXT: ld r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign16_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pld r3, 1(r3), 0 @@ -3646,27 +3610,25 @@ define dso_local i64 @ld_unalign16_uint64_t_uint64_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: ldx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: ld r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pld r3, 99999(r3), 0 @@ -3679,14 +3641,13 @@ define dso_local i64 @ld_unalign32_uint64_t_uint64_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: ldx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pld r3, 99999000(r3), 0 @@ -3699,14 +3660,13 @@ define dso_local i64 @ld_align32_uint64_t_uint64_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: ldx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -3724,14 +3684,13 @@ define dso_local i64 @ld_unalign64_uint64_t_uint64_t(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: ldx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -3747,23 +3706,21 @@ define dso_local i64 @ld_align64_uint64_t_uint64_t(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: ldx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: ldx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - ret i64 %1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + ret i64 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn @@ -3776,8 +3733,8 @@ define dso_local i64 @ld_or_uint64_t_uint64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3792,8 +3749,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3806,8 +3763,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_uint64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3835,8 +3792,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3850,8 +3807,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3865,8 +3822,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_uint64_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3888,8 +3845,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3922,8 +3879,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 ret i64 %1 } @@ -3949,8 +3906,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_uint64_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -3977,8 +3934,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 ret i64 %1 } @@ -4003,8 +3960,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 ret i64 %1 } @@ -4016,7 +3973,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_uint64_t() { ; CHECK-NEXT: ld r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 255 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 255 to ptr), align 8 ret i64 %0 } @@ -4027,7 +3984,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_uint64_t() { ; CHECK-NEXT: ld r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 ret i64 %0 } @@ -4046,7 +4003,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_uint64_t() { ; CHECK-PREP10-NEXT: ld r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 99999 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 99999 to ptr), align 8 ret i64 %0 } @@ -4058,7 +4015,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_uint64_t() { ; CHECK-NEXT: ld r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 ret i64 %0 } @@ -4081,7 +4038,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_uint64_t() { ; CHECK-PREP10-NEXT: ld r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000001 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 1000000000001 to ptr), align 8 ret i64 %0 } @@ -4102,7 +4059,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_uint64_t() { ; CHECK-PREP10-NEXT: ld r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i64 %0 } @@ -4115,14 +4072,14 @@ define dso_local i64 @ld_0_uint64_t_float(i64 %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign16_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 1(r3), 0 @@ -4137,15 +4094,14 @@ define dso_local i64 @ld_unalign16_uint64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -4153,15 +4109,14 @@ define dso_local i64 @ld_align16_uint64_t_float(i8* nocapture readonly %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999(r3), 0 @@ -4178,15 +4133,14 @@ define dso_local i64 @ld_unalign32_uint64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -4203,15 +4157,14 @@ define dso_local i64 @ld_align32_uint64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -4233,15 +4186,14 @@ define dso_local i64 @ld_unalign64_uint64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_float(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -4261,15 +4213,14 @@ define dso_local i64 @ld_align64_uint64_t_float(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -4277,10 +4228,9 @@ define dso_local i64 @ld_reg_uint64_t_float(i8* nocapture readonly %ptr, i64 %of ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4296,8 +4246,8 @@ define dso_local i64 @ld_or_uint64_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptoui float %1 to i64 ret i64 %conv1 } @@ -4315,8 +4265,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptoui float %1 to i64 ret i64 %conv1 } @@ -4332,8 +4282,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4358,8 +4308,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4376,8 +4326,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4394,8 +4344,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4422,8 +4372,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4463,8 +4413,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4495,8 +4445,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4528,8 +4478,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4559,8 +4509,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptoui float %1 to i64 ret i64 %conv } @@ -4590,7 +4540,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_float() { ; CHECK-P8-NEXT: mffprd r3, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 255 to float*), align 4 + %0 = load float, ptr inttoptr (i64 255 to ptr), align 4 %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4604,7 +4554,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_float() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4636,7 +4586,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_float() { ; CHECK-P8-NEXT: mffprd r3, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 99999 to float*), align 4 + %0 = load float, ptr inttoptr (i64 99999 to ptr), align 4 %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4651,7 +4601,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_float() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4679,7 +4629,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_float() { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000001 to float*), align 4 + %0 = load float, ptr inttoptr (i64 1000000000001 to ptr), align 4 %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4705,7 +4655,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_float() { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui float %0 to i64 ret i64 %conv } @@ -4719,14 +4669,14 @@ define dso_local i64 @ld_0_uint64_t_double(i64 %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign16_uint64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign16_uint64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign16_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 1(r3), 0 @@ -4741,15 +4691,14 @@ define dso_local i64 @ld_unalign16_uint64_t_double(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align16_uint64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align16_uint64_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -4757,15 +4706,14 @@ define dso_local i64 @ld_align16_uint64_t_double(i8* nocapture readonly %ptr) { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign32_uint64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign32_uint64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign32_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999(r3), 0 @@ -4782,15 +4730,14 @@ define dso_local i64 @ld_unalign32_uint64_t_double(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align32_uint64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align32_uint64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -4807,15 +4754,14 @@ define dso_local i64 @ld_align32_uint64_t_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_unalign64_uint64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_unalign64_uint64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -4837,15 +4783,14 @@ define dso_local i64 @ld_unalign64_uint64_t_double(i8* nocapture readonly %ptr) ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_align64_uint64_t_double(i8* nocapture readonly %ptr) { +define dso_local i64 @ld_align64_uint64_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -4865,15 +4810,14 @@ define dso_local i64 @ld_align64_uint64_t_double(i8* nocapture readonly %ptr) { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local i64 @ld_reg_uint64_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local i64 @ld_reg_uint64_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -4881,10 +4825,9 @@ define dso_local i64 @ld_reg_uint64_t_double(i8* nocapture readonly %ptr, i64 %o ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i64 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i64 ret i64 %conv } @@ -4900,8 +4843,8 @@ define dso_local i64 @ld_or_uint64_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptoui double %1 to i64 ret i64 %conv1 } @@ -4919,8 +4862,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptoui double %1 to i64 ret i64 %conv1 } @@ -4936,8 +4879,8 @@ define dso_local i64 @ld_not_disjoint16_uint64_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -4962,8 +4905,8 @@ define dso_local i64 @ld_disjoint_unalign16_uint64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -4980,8 +4923,8 @@ define dso_local i64 @ld_disjoint_align16_uint64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -4998,8 +4941,8 @@ define dso_local i64 @ld_not_disjoint32_uint64_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -5026,8 +4969,8 @@ define dso_local i64 @ld_disjoint_unalign32_uint64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1048576 %or = or i64 %and, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -5067,8 +5010,8 @@ define dso_local i64 @ld_disjoint_align32_uint64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -5099,8 +5042,8 @@ define dso_local i64 @ld_not_disjoint64_uint64_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -5132,8 +5075,8 @@ define dso_local i64 @ld_disjoint_unalign64_uint64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -5163,8 +5106,8 @@ define dso_local i64 @ld_disjoint_align64_uint64_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptoui double %1 to i64 ret i64 %conv } @@ -5194,7 +5137,7 @@ define dso_local i64 @ld_cst_unalign16_uint64_t_double() { ; CHECK-P8-NEXT: mffprd r3, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 255 to double*), align 8 + %0 = load double, ptr inttoptr (i64 255 to ptr), align 8 %conv = fptoui double %0 to i64 ret i64 %conv } @@ -5208,7 +5151,7 @@ define dso_local i64 @ld_cst_align16_uint64_t_double() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui double %0 to i64 ret i64 %conv } @@ -5240,7 +5183,7 @@ define dso_local i64 @ld_cst_unalign32_uint64_t_double() { ; CHECK-P8-NEXT: mffprd r3, f0 ; CHECK-P8-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 99999 to double*), align 8 + %0 = load double, ptr inttoptr (i64 99999 to ptr), align 8 %conv = fptoui double %0 to i64 ret i64 %conv } @@ -5255,7 +5198,7 @@ define dso_local i64 @ld_cst_align32_uint64_t_double() { ; CHECK-NEXT: mffprd r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptoui double %0 to i64 ret i64 %conv } @@ -5283,7 +5226,7 @@ define dso_local i64 @ld_cst_unalign64_uint64_t_double() { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000001 to double*), align 8 + %0 = load double, ptr inttoptr (i64 1000000000001 to ptr), align 8 %conv = fptoui double %0 to i64 ret i64 %conv } @@ -5309,7 +5252,7 @@ define dso_local i64 @ld_cst_align64_uint64_t_double() { ; CHECK-PREP10-NEXT: mffprd r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui double %0 to i64 ret i64 %conv } @@ -5322,26 +5265,26 @@ define dso_local void @st_0_uint64_t_uint8_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i8 - %0 = inttoptr i64 %ptr to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %conv, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_uint8_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_uint8_t(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stb r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_uint8_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_uint8_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstb r4, 99999000(r3), 0 @@ -5355,13 +5298,13 @@ define dso_local void @st_align32_uint64_t_uint8_t(i8* nocapture %ptr, i64 %str) ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_uint8_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_uint8_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5378,21 +5321,21 @@ define dso_local void @st_align64_uint64_t_uint8_t(i8* nocapture %ptr, i64 %str) ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %conv, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_uint8_t(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_uint8_t(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stbx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i8 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %conv, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %conv, ptr %add.ptr, align 1 ret void } @@ -5407,8 +5350,8 @@ entry: %conv = trunc i64 %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5424,8 +5367,8 @@ entry: %conv = trunc i64 %str to i8 %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5439,8 +5382,8 @@ define dso_local void @st_not_disjoint16_uint64_t_uint8_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i8 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5455,8 +5398,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i64 %str to i8 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 8 ret void } @@ -5471,8 +5414,8 @@ define dso_local void @st_not_disjoint32_uint64_t_uint8_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i8 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5506,8 +5449,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i64 %str to i8 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 16 ret void } @@ -5534,8 +5477,8 @@ define dso_local void @st_not_disjoint64_uint64_t_uint8_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i8 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 1 ret void } @@ -5561,8 +5504,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i64 %str to i8 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %conv, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %conv, ptr %0, align 4096 ret void } @@ -5574,7 +5517,7 @@ define dso_local void @st_cst_align16_uint64_t_uint8_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i8 - store i8 %conv, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5587,7 +5530,7 @@ define dso_local void @st_cst_align32_uint64_t_uint8_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i8 - store i8 %conv, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5609,7 +5552,7 @@ define dso_local void @st_cst_align64_uint64_t_uint8_t(i64 %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i8 - store i8 %conv, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5621,27 +5564,26 @@ define dso_local void @st_0_uint64_t_uint16_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_uint16_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_uint16_t(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sth r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_uint16_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_uint16_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: psth r4, 99999000(r3), 0 @@ -5655,14 +5597,13 @@ define dso_local void @st_align32_uint64_t_uint16_t(i8* nocapture %ptr, i64 %str ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_uint16_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_uint16_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5679,23 +5620,21 @@ define dso_local void @st_align64_uint64_t_uint16_t(i8* nocapture %ptr, i64 %str ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_uint16_t(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_uint16_t(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sthx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -5710,8 +5649,8 @@ entry: %conv = trunc i64 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5727,8 +5666,8 @@ entry: %conv = trunc i64 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5742,8 +5681,8 @@ define dso_local void @st_not_disjoint16_uint64_t_uint16_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5758,8 +5697,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i64 %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -5774,8 +5713,8 @@ define dso_local void @st_not_disjoint32_uint64_t_uint16_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5809,8 +5748,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i64 %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -5837,8 +5776,8 @@ define dso_local void @st_not_disjoint64_uint64_t_uint16_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -5864,8 +5803,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i64 %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -5877,7 +5816,7 @@ define dso_local void @st_cst_align16_uint64_t_uint16_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -5890,7 +5829,7 @@ define dso_local void @st_cst_align32_uint64_t_uint16_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -5912,7 +5851,7 @@ define dso_local void @st_cst_align64_uint64_t_uint16_t(i64 %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -5924,27 +5863,26 @@ define dso_local void @st_0_uint64_t_int16_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_int16_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_int16_t(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sth r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_int16_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_int16_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: psth r4, 99999000(r3), 0 @@ -5958,14 +5896,13 @@ define dso_local void @st_align32_uint64_t_int16_t(i8* nocapture %ptr, i64 %str) ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_int16_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_int16_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_int16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -5982,23 +5919,21 @@ define dso_local void @st_align64_uint64_t_int16_t(i8* nocapture %ptr, i64 %str) ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_int16_t(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_int16_t(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_int16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sthx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -6013,8 +5948,8 @@ entry: %conv = trunc i64 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6030,8 +5965,8 @@ entry: %conv = trunc i64 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6045,8 +5980,8 @@ define dso_local void @st_not_disjoint16_uint64_t_int16_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6061,8 +5996,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i64 %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -6077,8 +6012,8 @@ define dso_local void @st_not_disjoint32_uint64_t_int16_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6112,8 +6047,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i64 %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -6140,8 +6075,8 @@ define dso_local void @st_not_disjoint64_uint64_t_int16_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6167,8 +6102,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i64 %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -6180,7 +6115,7 @@ define dso_local void @st_cst_align16_uint64_t_int16_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6193,7 +6128,7 @@ define dso_local void @st_cst_align32_uint64_t_int16_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6215,7 +6150,7 @@ define dso_local void @st_cst_align64_uint64_t_int16_t(i64 %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6227,27 +6162,26 @@ define dso_local void @st_0_uint64_t_uint32_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_uint32_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_uint32_t(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_uint32_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_uint32_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstw r4, 99999000(r3), 0 @@ -6261,14 +6195,13 @@ define dso_local void @st_align32_uint64_t_uint32_t(i8* nocapture %ptr, i64 %str ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_uint32_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_uint32_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6285,23 +6218,21 @@ define dso_local void @st_align64_uint64_t_uint32_t(i8* nocapture %ptr, i64 %str ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_uint32_t(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_uint32_t(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stwx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -6316,8 +6247,8 @@ entry: %conv = trunc i64 %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6333,8 +6264,8 @@ entry: %conv = trunc i64 %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6348,8 +6279,8 @@ define dso_local void @st_not_disjoint16_uint64_t_uint32_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6364,8 +6295,8 @@ entry: %and = and i64 %ptr, -4096 %conv = trunc i64 %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -6380,8 +6311,8 @@ define dso_local void @st_not_disjoint32_uint64_t_uint32_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6415,8 +6346,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = trunc i64 %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -6443,8 +6374,8 @@ define dso_local void @st_not_disjoint64_uint64_t_uint32_t(i64 %ptr, i64 %str) { entry: %conv = trunc i64 %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6470,8 +6401,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = trunc i64 %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -6483,7 +6414,7 @@ define dso_local void @st_cst_align16_uint64_t_uint32_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6496,7 +6427,7 @@ define dso_local void @st_cst_align32_uint64_t_uint32_t(i64 %str) { ; CHECK-NEXT: blr entry: %conv = trunc i64 %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6518,7 +6449,7 @@ define dso_local void @st_cst_align64_uint64_t_uint32_t(i64 %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = trunc i64 %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6529,26 +6460,25 @@ define dso_local void @st_0_uint64_t_uint64_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: std r4, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %str, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_uint64_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_uint64_t(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %str, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %str, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_uint64_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_uint64_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -6561,14 +6491,13 @@ define dso_local void @st_align32_uint64_t_uint64_t(i8* nocapture %ptr, i64 %str ; CHECK-PREP10-NEXT: stdx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %str, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %str, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_uint64_t(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_uint64_t(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6584,22 +6513,20 @@ define dso_local void @st_align64_uint64_t_uint64_t(i8* nocapture %ptr, i64 %str ; CHECK-PREP10-NEXT: stdx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %str, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %str, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_uint64_t(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_uint64_t(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %str, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %str, ptr %add.ptr, align 8 ret void } @@ -6613,8 +6540,8 @@ define dso_local void @st_or1_uint64_t_uint64_t(i64 %ptr, i8 zeroext %off, i64 % entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 8 ret void } @@ -6629,8 +6556,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %off to i64 %or = or i64 %and, %conv - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 8 ret void } @@ -6643,8 +6570,8 @@ define dso_local void @st_not_disjoint16_uint64_t_uint64_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 8 ret void } @@ -6658,8 +6585,8 @@ define dso_local void @st_disjoint_align16_uint64_t_uint64_t(i64 %ptr, i64 %str) entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 8 ret void } @@ -6673,8 +6600,8 @@ define dso_local void @st_not_disjoint32_uint64_t_uint64_t(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 8 ret void } @@ -6707,8 +6634,8 @@ define dso_local void @st_disjoint_align32_uint64_t_uint64_t(i64 %ptr, i64 %str) entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 16 ret void } @@ -6734,8 +6661,8 @@ define dso_local void @st_not_disjoint64_uint64_t_uint64_t(i64 %ptr, i64 %str) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 8 ret void } @@ -6760,8 +6687,8 @@ define dso_local void @st_disjoint_align64_uint64_t_uint64_t(i64 %ptr, i64 %str) entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %str, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %str, ptr %0, align 4096 ret void } @@ -6772,7 +6699,7 @@ define dso_local void @st_cst_align16_uint64_t_uint64_t(i64 %str) { ; CHECK-NEXT: std r3, 4080(0) ; CHECK-NEXT: blr entry: - store i64 %str, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %str, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6784,7 +6711,7 @@ define dso_local void @st_cst_align32_uint64_t_uint64_t(i64 %str) { ; CHECK-NEXT: std r3, -27108(r4) ; CHECK-NEXT: blr entry: - store i64 %str, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %str, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -6805,7 +6732,7 @@ define dso_local void @st_cst_align64_uint64_t_uint64_t(i64 %str) { ; CHECK-PREP10-NEXT: std r3, 0(r4) ; CHECK-PREP10-NEXT: blr entry: - store i64 %str, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %str, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6819,13 +6746,13 @@ define dso_local void @st_0_uint64_t_float(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_float(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_float(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r4 @@ -6834,14 +6761,13 @@ define dso_local void @st_align16_uint64_t_float(i8* nocapture %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_float(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_float(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -6868,14 +6794,13 @@ define dso_local void @st_align32_uint64_t_float(i8* nocapture %ptr, i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_float(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_float(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -6906,14 +6831,13 @@ define dso_local void @st_align64_uint64_t_float(i8* nocapture %ptr, i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_float(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_float(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r5 @@ -6922,9 +6846,8 @@ define dso_local void @st_reg_uint64_t_float(i8* nocapture %ptr, i64 %off, i64 % ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -6941,8 +6864,8 @@ entry: %conv = uitofp i64 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6960,8 +6883,8 @@ entry: %conv = uitofp i64 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6977,8 +6900,8 @@ define dso_local void @st_not_disjoint16_uint64_t_float(i64 %ptr, i64 %str) { entry: %conv = uitofp i64 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -6995,8 +6918,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i64 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -7031,8 +6954,8 @@ define dso_local void @st_not_disjoint32_uint64_t_float(i64 %ptr, i64 %str) { entry: %conv = uitofp i64 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7072,8 +6995,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i64 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -7104,8 +7027,8 @@ define dso_local void @st_not_disjoint64_uint64_t_float(i64 %ptr, i64 %str) { entry: %conv = uitofp i64 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7146,8 +7069,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i64 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -7161,7 +7084,7 @@ define dso_local void @st_cst_align16_uint64_t_float(i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7176,7 +7099,7 @@ define dso_local void @st_cst_align32_uint64_t_float(i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7212,7 +7135,7 @@ define dso_local void @st_cst_align64_uint64_t_float(i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i64 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7226,13 +7149,13 @@ define dso_local void @st_0_uint64_t_double(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint64_t_double(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_uint64_t_double(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_uint64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r4 @@ -7241,14 +7164,13 @@ define dso_local void @st_align16_uint64_t_double(i8* nocapture %ptr, i64 %str) ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint64_t_double(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_uint64_t_double(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -7275,14 +7197,13 @@ define dso_local void @st_align32_uint64_t_double(i8* nocapture %ptr, i64 %str) ; CHECK-P8-NEXT: blr entry: %conv = uitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint64_t_double(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_uint64_t_double(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_uint64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -7313,14 +7234,13 @@ define dso_local void @st_align64_uint64_t_double(i8* nocapture %ptr, i64 %str) ; CHECK-P8-NEXT: blr entry: %conv = uitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint64_t_double(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_uint64_t_double(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_uint64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r5 @@ -7329,9 +7249,8 @@ define dso_local void @st_reg_uint64_t_double(i8* nocapture %ptr, i64 %off, i64 ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -7348,8 +7267,8 @@ entry: %conv = uitofp i64 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7367,8 +7286,8 @@ entry: %conv = uitofp i64 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7384,8 +7303,8 @@ define dso_local void @st_not_disjoint16_uint64_t_double(i64 %ptr, i64 %str) { entry: %conv = uitofp i64 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7402,8 +7321,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i64 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7438,8 +7357,8 @@ define dso_local void @st_not_disjoint32_uint64_t_double(i64 %ptr, i64 %str) { entry: %conv = uitofp i64 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7479,8 +7398,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i64 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -7511,8 +7430,8 @@ define dso_local void @st_not_disjoint64_uint64_t_double(i64 %ptr, i64 %str) { entry: %conv = uitofp i64 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7553,8 +7472,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i64 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -7568,7 +7487,7 @@ define dso_local void @st_cst_align16_uint64_t_double(i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7583,7 +7502,7 @@ define dso_local void @st_cst_align32_uint64_t_double(i64 %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i64 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7619,7 +7538,7 @@ define dso_local void @st_cst_align64_uint64_t_double(i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i64 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7633,13 +7552,13 @@ define dso_local void @st_0_int64_t_float(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int64_t_float(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_int64_t_float(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_int64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r4 @@ -7648,14 +7567,13 @@ define dso_local void @st_align16_int64_t_float(i8* nocapture %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int64_t_float(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_int64_t_float(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_int64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -7682,14 +7600,13 @@ define dso_local void @st_align32_int64_t_float(i8* nocapture %ptr, i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int64_t_float(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_int64_t_float(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_int64_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -7720,14 +7637,13 @@ define dso_local void @st_align64_int64_t_float(i8* nocapture %ptr, i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int64_t_float(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_int64_t_float(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_int64_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r5 @@ -7736,9 +7652,8 @@ define dso_local void @st_reg_int64_t_float(i8* nocapture %ptr, i64 %off, i64 %s ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -7755,8 +7670,8 @@ entry: %conv = sitofp i64 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7774,8 +7689,8 @@ entry: %conv = sitofp i64 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7791,8 +7706,8 @@ define dso_local void @st_not_disjoint16_int64_t_float(i64 %ptr, i64 %str) { entry: %conv = sitofp i64 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7809,8 +7724,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i64 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -7845,8 +7760,8 @@ define dso_local void @st_not_disjoint32_int64_t_float(i64 %ptr, i64 %str) { entry: %conv = sitofp i64 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7886,8 +7801,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i64 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -7918,8 +7833,8 @@ define dso_local void @st_not_disjoint64_int64_t_float(i64 %ptr, i64 %str) { entry: %conv = sitofp i64 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7960,8 +7875,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i64 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -7975,7 +7890,7 @@ define dso_local void @st_cst_align16_int64_t_float(i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7990,7 +7905,7 @@ define dso_local void @st_cst_align32_int64_t_float(i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -8026,7 +7941,7 @@ define dso_local void @st_cst_align64_int64_t_float(i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i64 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -8040,13 +7955,13 @@ define dso_local void @st_0_int64_t_double(i64 %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int64_t_double(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align16_int64_t_double(ptr nocapture %ptr, i64 %str) { ; CHECK-LABEL: st_align16_int64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r4 @@ -8055,14 +7970,13 @@ define dso_local void @st_align16_int64_t_double(i8* nocapture %ptr, i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int64_t_double(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align32_int64_t_double(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align32_int64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -8089,14 +8003,13 @@ define dso_local void @st_align32_int64_t_double(i8* nocapture %ptr, i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int64_t_double(i8* nocapture %ptr, i64 %str) { +define dso_local void @st_align64_int64_t_double(ptr nocapture %ptr, i64 %str) { ; CHECK-P10-LABEL: st_align64_int64_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprd f0, r4 @@ -8127,14 +8040,13 @@ define dso_local void @st_align64_int64_t_double(i8* nocapture %ptr, i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int64_t_double(i8* nocapture %ptr, i64 %off, i64 %str) { +define dso_local void @st_reg_int64_t_double(ptr nocapture %ptr, i64 %off, i64 %str) { ; CHECK-LABEL: st_reg_int64_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprd f0, r5 @@ -8143,9 +8055,8 @@ define dso_local void @st_reg_int64_t_double(i8* nocapture %ptr, i64 %off, i64 % ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -8162,8 +8073,8 @@ entry: %conv = sitofp i64 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8181,8 +8092,8 @@ entry: %conv = sitofp i64 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %and, %conv1 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8198,8 +8109,8 @@ define dso_local void @st_not_disjoint16_int64_t_double(i64 %ptr, i64 %str) { entry: %conv = sitofp i64 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8216,8 +8127,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i64 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8252,8 +8163,8 @@ define dso_local void @st_not_disjoint32_int64_t_double(i64 %ptr, i64 %str) { entry: %conv = sitofp i64 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8293,8 +8204,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i64 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -8325,8 +8236,8 @@ define dso_local void @st_not_disjoint64_int64_t_double(i64 %ptr, i64 %str) { entry: %conv = sitofp i64 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -8367,8 +8278,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i64 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -8382,7 +8293,7 @@ define dso_local void @st_cst_align16_int64_t_double(i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -8397,7 +8308,7 @@ define dso_local void @st_cst_align32_int64_t_double(i64 %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i64 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -8433,6 +8344,6 @@ define dso_local void @st_cst_align64_int64_t_double(i64 %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i64 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } diff --git a/llvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll b/llvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll index e1dbad0..42a2cf6 100644 --- a/llvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll +++ b/llvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll @@ -26,26 +26,26 @@ define dso_local signext i8 @ld_0_int8_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align16_int8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align16_int8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int8_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align32_int8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align32_int8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -60,13 +60,13 @@ define dso_local signext i8 @ld_align32_int8_t_uint8_t(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align64_int8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align64_int8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -84,21 +84,21 @@ define dso_local signext i8 @ld_align64_int8_t_uint8_t(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_reg_int8_t_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i8 @ld_reg_int8_t_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int8_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } @@ -113,8 +113,8 @@ define dso_local signext i8 @ld_or_int8_t_uint8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -128,8 +128,8 @@ define dso_local signext i8 @ld_not_disjoint16_int8_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -144,8 +144,8 @@ define dso_local signext i8 @ld_disjoint_align16_int8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 ret i8 %1 } @@ -160,8 +160,8 @@ define dso_local signext i8 @ld_not_disjoint32_int8_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -197,8 +197,8 @@ define dso_local signext i8 @ld_disjoint_align32_int8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 ret i8 %1 } @@ -226,8 +226,8 @@ define dso_local signext i8 @ld_not_disjoint64_int8_t_uint8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -254,8 +254,8 @@ define dso_local signext i8 @ld_disjoint_align64_int8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 ret i8 %1 } @@ -267,7 +267,7 @@ define dso_local signext i8 @ld_cst_align16_int8_t_uint8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 ret i8 %0 } @@ -280,7 +280,7 @@ define dso_local signext i8 @ld_cst_align32_int8_t_uint8_t() { ; CHECK-NEXT: extsb r3, r3 ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 ret i8 %0 } @@ -303,7 +303,7 @@ define dso_local signext i8 @ld_cst_align64_int8_t_uint8_t() { ; CHECK-PREP10-NEXT: extsb r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i8 %0 } @@ -321,14 +321,14 @@ define dso_local signext i8 @ld_0_int8_t_uint16_t(i64 %ptr) { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align16_int8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align16_int8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_int8_t_uint16_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbz r3, 8(r3) @@ -341,15 +341,14 @@ define dso_local signext i8 @ld_align16_int8_t_uint16_t(i8* nocapture readonly % ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align32_int8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align32_int8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_int8_t_uint16_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plbz r3, 99999000(r3), 0 @@ -394,15 +393,14 @@ define dso_local signext i8 @ld_align32_int8_t_uint16_t(i8* nocapture readonly % ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align64_int8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align64_int8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_int8_t_uint16_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -458,15 +456,14 @@ define dso_local signext i8 @ld_align64_int8_t_uint16_t(i8* nocapture readonly % ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_reg_int8_t_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i8 @ld_reg_int8_t_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_int8_t_uint16_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbzx r3, r3, r4 @@ -480,10 +477,9 @@ define dso_local signext i8 @ld_reg_int8_t_uint16_t(i8* nocapture readonly %ptr, ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -505,8 +501,8 @@ define dso_local signext i8 @ld_or_int8_t_uint16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = trunc i16 %1 to i8 ret i8 %conv1 } @@ -528,8 +524,8 @@ define dso_local signext i8 @ld_not_disjoint16_int8_t_uint16_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -552,8 +548,8 @@ define dso_local signext i8 @ld_disjoint_align16_int8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -577,8 +573,8 @@ define dso_local signext i8 @ld_not_disjoint32_int8_t_uint16_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -643,8 +639,8 @@ define dso_local signext i8 @ld_disjoint_align32_int8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -716,8 +712,8 @@ define dso_local signext i8 @ld_not_disjoint64_int8_t_uint16_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -787,8 +783,8 @@ define dso_local signext i8 @ld_disjoint_align64_int8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -807,7 +803,7 @@ define dso_local signext i8 @ld_cst_align16_int8_t_uint16_t() { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -828,7 +824,7 @@ define dso_local signext i8 @ld_cst_align32_int8_t_uint16_t() { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -890,7 +886,7 @@ define dso_local signext i8 @ld_cst_align64_int8_t_uint16_t() { ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -909,14 +905,14 @@ define dso_local signext i8 @ld_0_int8_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align16_int8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align16_int8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_int8_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbz r3, 8(r3) @@ -929,15 +925,14 @@ define dso_local signext i8 @ld_align16_int8_t_uint32_t(i8* nocapture readonly % ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align32_int8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align32_int8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_int8_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plbz r3, 99999000(r3), 0 @@ -982,15 +977,14 @@ define dso_local signext i8 @ld_align32_int8_t_uint32_t(i8* nocapture readonly % ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align64_int8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align64_int8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_int8_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -1046,15 +1040,14 @@ define dso_local signext i8 @ld_align64_int8_t_uint32_t(i8* nocapture readonly % ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_reg_int8_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i8 @ld_reg_int8_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_int8_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbzx r3, r3, r4 @@ -1068,10 +1061,9 @@ define dso_local signext i8 @ld_reg_int8_t_uint32_t(i8* nocapture readonly %ptr, ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -1093,8 +1085,8 @@ define dso_local signext i8 @ld_or_int8_t_uint32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = trunc i32 %1 to i8 ret i8 %conv1 } @@ -1116,8 +1108,8 @@ define dso_local signext i8 @ld_not_disjoint16_int8_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -1140,8 +1132,8 @@ define dso_local signext i8 @ld_disjoint_align16_int8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -1165,8 +1157,8 @@ define dso_local signext i8 @ld_not_disjoint32_int8_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -1231,8 +1223,8 @@ define dso_local signext i8 @ld_disjoint_align32_int8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -1304,8 +1296,8 @@ define dso_local signext i8 @ld_not_disjoint64_int8_t_uint32_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -1375,8 +1367,8 @@ define dso_local signext i8 @ld_disjoint_align64_int8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -1395,7 +1387,7 @@ define dso_local signext i8 @ld_cst_align16_int8_t_uint32_t() { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -1416,7 +1408,7 @@ define dso_local signext i8 @ld_cst_align32_int8_t_uint32_t() { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -1478,7 +1470,7 @@ define dso_local signext i8 @ld_cst_align64_int8_t_uint32_t() { ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -1497,14 +1489,14 @@ define dso_local signext i8 @ld_0_int8_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align16_int8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align16_int8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_int8_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbz r3, 8(r3) @@ -1517,15 +1509,14 @@ define dso_local signext i8 @ld_align16_int8_t_uint64_t(i8* nocapture readonly % ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align32_int8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align32_int8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_int8_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plbz r3, 99999000(r3), 0 @@ -1570,15 +1561,14 @@ define dso_local signext i8 @ld_align32_int8_t_uint64_t(i8* nocapture readonly % ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align64_int8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align64_int8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_int8_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -1634,15 +1624,14 @@ define dso_local signext i8 @ld_align64_int8_t_uint64_t(i8* nocapture readonly % ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_reg_int8_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i8 @ld_reg_int8_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_int8_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbzx r3, r3, r4 @@ -1656,10 +1645,9 @@ define dso_local signext i8 @ld_reg_int8_t_uint64_t(i8* nocapture readonly %ptr, ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -1681,8 +1669,8 @@ define dso_local signext i8 @ld_or_int8_t_uint64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i8 ret i8 %conv1 } @@ -1704,8 +1692,8 @@ define dso_local signext i8 @ld_not_disjoint16_int8_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -1728,8 +1716,8 @@ define dso_local signext i8 @ld_disjoint_align16_int8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -1753,8 +1741,8 @@ define dso_local signext i8 @ld_not_disjoint32_int8_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -1819,8 +1807,8 @@ define dso_local signext i8 @ld_disjoint_align32_int8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -1892,8 +1880,8 @@ define dso_local signext i8 @ld_not_disjoint64_int8_t_uint64_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -1963,8 +1951,8 @@ define dso_local signext i8 @ld_disjoint_align64_int8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -1983,7 +1971,7 @@ define dso_local signext i8 @ld_cst_align16_int8_t_uint64_t() { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -2004,7 +1992,7 @@ define dso_local signext i8 @ld_cst_align32_int8_t_uint64_t() { ; CHECK-BE-NEXT: extsb r3, r3 ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -2066,7 +2054,7 @@ define dso_local signext i8 @ld_cst_align64_int8_t_uint64_t() { ; CHECK-P8-BE-NEXT: extsb r3, r3 ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -2081,14 +2069,14 @@ define dso_local signext i8 @ld_0_int8_t_float(i64 %ptr) { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align16_int8_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align16_int8_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -2097,15 +2085,14 @@ define dso_local signext i8 @ld_align16_int8_t_float(i8* nocapture readonly %ptr ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align32_int8_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align32_int8_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -2124,15 +2111,14 @@ define dso_local signext i8 @ld_align32_int8_t_float(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align64_int8_t_float(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align64_int8_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2154,15 +2140,14 @@ define dso_local signext i8 @ld_align64_int8_t_float(i8* nocapture readonly %ptr ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_reg_int8_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i8 @ld_reg_int8_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -2171,10 +2156,9 @@ define dso_local signext i8 @ld_reg_int8_t_float(i8* nocapture readonly %ptr, i6 ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptosi float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptosi float %0 to i8 ret i8 %conv } @@ -2191,8 +2175,8 @@ define dso_local signext i8 @ld_or_int8_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptosi float %1 to i8 ret i8 %conv1 } @@ -2209,8 +2193,8 @@ define dso_local signext i8 @ld_not_disjoint16_int8_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i8 ret i8 %conv } @@ -2228,8 +2212,8 @@ define dso_local signext i8 @ld_disjoint_align16_int8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptosi float %1 to i8 ret i8 %conv } @@ -2247,8 +2231,8 @@ define dso_local signext i8 @ld_not_disjoint32_int8_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i8 ret i8 %conv } @@ -2291,8 +2275,8 @@ define dso_local signext i8 @ld_disjoint_align32_int8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptosi float %1 to i8 ret i8 %conv } @@ -2325,8 +2309,8 @@ define dso_local signext i8 @ld_not_disjoint64_int8_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptosi float %1 to i8 ret i8 %conv } @@ -2358,8 +2342,8 @@ define dso_local signext i8 @ld_disjoint_align64_int8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptosi float %1 to i8 ret i8 %conv } @@ -2374,7 +2358,7 @@ define dso_local signext i8 @ld_cst_align16_int8_t_float() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi float %0 to i8 ret i8 %conv } @@ -2390,7 +2374,7 @@ define dso_local signext i8 @ld_cst_align32_int8_t_float() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptosi float %0 to i8 ret i8 %conv } @@ -2418,7 +2402,7 @@ define dso_local signext i8 @ld_cst_align64_int8_t_float() { ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi float %0 to i8 ret i8 %conv } @@ -2433,14 +2417,14 @@ define dso_local signext i8 @ld_0_int8_t_double(i64 %ptr) { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align16_int8_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align16_int8_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_int8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -2449,15 +2433,14 @@ define dso_local signext i8 @ld_align16_int8_t_double(i8* nocapture readonly %pt ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align32_int8_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align32_int8_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_int8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -2476,15 +2459,14 @@ define dso_local signext i8 @ld_align32_int8_t_double(i8* nocapture readonly %pt ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_align64_int8_t_double(i8* nocapture readonly %ptr) { +define dso_local signext i8 @ld_align64_int8_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_int8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2506,15 +2488,14 @@ define dso_local signext i8 @ld_align64_int8_t_double(i8* nocapture readonly %pt ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local signext i8 @ld_reg_int8_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local signext i8 @ld_reg_int8_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_int8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -2523,10 +2504,9 @@ define dso_local signext i8 @ld_reg_int8_t_double(i8* nocapture readonly %ptr, i ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptosi double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptosi double %0 to i8 ret i8 %conv } @@ -2543,8 +2523,8 @@ define dso_local signext i8 @ld_or_int8_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptosi double %1 to i8 ret i8 %conv1 } @@ -2561,8 +2541,8 @@ define dso_local signext i8 @ld_not_disjoint16_int8_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i8 ret i8 %conv } @@ -2580,8 +2560,8 @@ define dso_local signext i8 @ld_disjoint_align16_int8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i8 ret i8 %conv } @@ -2599,8 +2579,8 @@ define dso_local signext i8 @ld_not_disjoint32_int8_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i8 ret i8 %conv } @@ -2643,8 +2623,8 @@ define dso_local signext i8 @ld_disjoint_align32_int8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptosi double %1 to i8 ret i8 %conv } @@ -2677,8 +2657,8 @@ define dso_local signext i8 @ld_not_disjoint64_int8_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptosi double %1 to i8 ret i8 %conv } @@ -2710,8 +2690,8 @@ define dso_local signext i8 @ld_disjoint_align64_int8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptosi double %1 to i8 ret i8 %conv } @@ -2726,7 +2706,7 @@ define dso_local signext i8 @ld_cst_align16_int8_t_double() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptosi double %0 to i8 ret i8 %conv } @@ -2742,7 +2722,7 @@ define dso_local signext i8 @ld_cst_align32_int8_t_double() { ; CHECK-NEXT: extsw r3, r3 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptosi double %0 to i8 ret i8 %conv } @@ -2770,7 +2750,7 @@ define dso_local signext i8 @ld_cst_align64_int8_t_double() { ; CHECK-PREP10-NEXT: extsw r3, r3 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptosi double %0 to i8 ret i8 %conv } @@ -2782,25 +2762,25 @@ define dso_local zeroext i8 @ld_0_uint8_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: lbz r3, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align16_uint8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align16_uint8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint8_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbz r3, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align32_uint8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align32_uint8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plbz r3, 99999000(r3), 0 @@ -2813,13 +2793,13 @@ define dso_local zeroext i8 @ld_align32_uint8_t_uint8_t(i8* nocapture readonly % ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_unalign64_uint8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_unalign64_uint8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -2837,13 +2817,13 @@ define dso_local zeroext i8 @ld_unalign64_uint8_t_uint8_t(i8* nocapture readonly ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align64_uint8_t_uint8_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align64_uint8_t_uint8_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -2859,20 +2839,20 @@ define dso_local zeroext i8 @ld_align64_uint8_t_uint8_t(i8* nocapture readonly % ; CHECK-PREP10-NEXT: lbzx r3, r3, r4 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_reg_uint8_t_uint8_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i8 @ld_reg_uint8_t_uint8_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint8_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lbzx r3, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = load i8, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i8, ptr %add.ptr, align 1 ret i8 %0 } @@ -2886,8 +2866,8 @@ define dso_local zeroext i8 @ld_or_uint8_t_uint8_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -2900,8 +2880,8 @@ define dso_local zeroext i8 @ld_not_disjoint16_uint8_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -2915,8 +2895,8 @@ define dso_local zeroext i8 @ld_disjoint_align16_uint8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 8 ret i8 %1 } @@ -2930,8 +2910,8 @@ define dso_local zeroext i8 @ld_not_disjoint32_uint8_t_uint8_t(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -2964,8 +2944,8 @@ define dso_local zeroext i8 @ld_disjoint_align32_uint8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 16 ret i8 %1 } @@ -2991,8 +2971,8 @@ define dso_local zeroext i8 @ld_not_disjoint64_uint8_t_uint8_t(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -3019,8 +2999,8 @@ define dso_local zeroext i8 @ld_disjoint_unalign64_uint8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 1 ret i8 %1 } @@ -3045,8 +3025,8 @@ define dso_local zeroext i8 @ld_disjoint_align64_uint8_t_uint8_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - %1 = load i8, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i8, ptr %0, align 4096 ret i8 %1 } @@ -3057,7 +3037,7 @@ define dso_local zeroext i8 @ld_cst_align16_uint8_t_uint8_t() { ; CHECK-NEXT: lbz r3, 4080(0) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 4080 to i8*), align 16 + %0 = load i8, ptr inttoptr (i64 4080 to ptr), align 16 ret i8 %0 } @@ -3069,7 +3049,7 @@ define dso_local zeroext i8 @ld_cst_align32_uint8_t_uint8_t() { ; CHECK-NEXT: lbz r3, -27108(r3) ; CHECK-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 9999900 to i8*), align 4 + %0 = load i8, ptr inttoptr (i64 9999900 to ptr), align 4 ret i8 %0 } @@ -3092,7 +3072,7 @@ define dso_local zeroext i8 @ld_cst_unalign64_uint8_t_uint8_t() { ; CHECK-PREP10-NEXT: lbz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000001 to i8*), align 1 + %0 = load i8, ptr inttoptr (i64 1000000000001 to ptr), align 1 ret i8 %0 } @@ -3113,7 +3093,7 @@ define dso_local zeroext i8 @ld_cst_align64_uint8_t_uint8_t() { ; CHECK-PREP10-NEXT: lbz r3, 0(r3) ; CHECK-PREP10-NEXT: blr entry: - %0 = load i8, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + %0 = load i8, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret i8 %0 } @@ -3129,14 +3109,14 @@ define dso_local zeroext i8 @ld_0_uint8_t_uint16_t(i64 %ptr) { ; CHECK-BE-NEXT: lbz r3, 1(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align16_uint8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align16_uint8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_uint8_t_uint16_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbz r3, 8(r3) @@ -3147,15 +3127,14 @@ define dso_local zeroext i8 @ld_align16_uint8_t_uint16_t(i8* nocapture readonly ; CHECK-BE-NEXT: lbz r3, 9(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align32_uint8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align32_uint8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_uint8_t_uint16_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plbz r3, 99999000(r3), 0 @@ -3194,15 +3173,14 @@ define dso_local zeroext i8 @ld_align32_uint8_t_uint16_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_unalign64_uint8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_unalign64_uint8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_unalign64_uint8_t_uint16_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 232 @@ -3255,15 +3233,14 @@ define dso_local zeroext i8 @ld_unalign64_uint8_t_uint16_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align64_uint8_t_uint16_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align64_uint8_t_uint16_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_uint8_t_uint16_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -3313,15 +3290,14 @@ define dso_local zeroext i8 @ld_align64_uint8_t_uint16_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_reg_uint8_t_uint16_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i8 @ld_reg_uint8_t_uint16_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_uint8_t_uint16_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbzx r3, r3, r4 @@ -3333,10 +3309,9 @@ define dso_local zeroext i8 @ld_reg_uint8_t_uint16_t(i8* nocapture readonly %ptr ; CHECK-BE-NEXT: lbz r3, 1(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - %1 = load i16, i16* %0, align 2 - %conv = trunc i16 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i16, ptr %add.ptr, align 2 + %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -3356,8 +3331,8 @@ define dso_local zeroext i8 @ld_or_uint8_t_uint16_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv1 = trunc i16 %1 to i8 ret i8 %conv1 } @@ -3377,8 +3352,8 @@ define dso_local zeroext i8 @ld_not_disjoint16_uint8_t_uint16_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3399,8 +3374,8 @@ define dso_local zeroext i8 @ld_disjoint_align16_uint8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 8 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3422,8 +3397,8 @@ define dso_local zeroext i8 @ld_not_disjoint32_uint8_t_uint16_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3482,8 +3457,8 @@ define dso_local zeroext i8 @ld_disjoint_align32_uint8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 16 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3549,8 +3524,8 @@ define dso_local zeroext i8 @ld_not_disjoint64_uint8_t_uint16_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3617,8 +3592,8 @@ define dso_local zeroext i8 @ld_disjoint_unalign64_uint8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 2 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3682,8 +3657,8 @@ define dso_local zeroext i8 @ld_disjoint_align64_uint8_t_uint16_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - %1 = load i16, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i16, ptr %0, align 4096 %conv = trunc i16 %1 to i8 ret i8 %conv } @@ -3700,7 +3675,7 @@ define dso_local zeroext i8 @ld_cst_align16_uint8_t_uint16_t() { ; CHECK-BE-NEXT: lbz r3, 4081(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 4080 to i16*), align 16 + %0 = load i16, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -3719,7 +3694,7 @@ define dso_local zeroext i8 @ld_cst_align32_uint8_t_uint16_t() { ; CHECK-BE-NEXT: lbz r3, -27107(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 9999900 to i16*), align 4 + %0 = load i16, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -3778,7 +3753,7 @@ define dso_local zeroext i8 @ld_cst_unalign64_uint8_t_uint16_t() { ; CHECK-P8-BE-NEXT: lbz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000001 to i16*), align 2 + %0 = load i16, ptr inttoptr (i64 1000000000001 to ptr), align 2 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -3834,7 +3809,7 @@ define dso_local zeroext i8 @ld_cst_align64_uint8_t_uint16_t() { ; CHECK-P8-BE-NEXT: lbz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i16, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + %0 = load i16, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i16 %0 to i8 ret i8 %conv } @@ -3851,14 +3826,14 @@ define dso_local zeroext i8 @ld_0_uint8_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: lbz r3, 3(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align16_uint8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align16_uint8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_uint8_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbz r3, 8(r3) @@ -3869,15 +3844,14 @@ define dso_local zeroext i8 @ld_align16_uint8_t_uint32_t(i8* nocapture readonly ; CHECK-BE-NEXT: lbz r3, 11(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align32_uint8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align32_uint8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_uint8_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plbz r3, 99999000(r3), 0 @@ -3916,15 +3890,14 @@ define dso_local zeroext i8 @ld_align32_uint8_t_uint32_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_unalign64_uint8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_unalign64_uint8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_unalign64_uint8_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 232 @@ -3977,15 +3950,14 @@ define dso_local zeroext i8 @ld_unalign64_uint8_t_uint32_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align64_uint8_t_uint32_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align64_uint8_t_uint32_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_uint8_t_uint32_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -4035,15 +4007,14 @@ define dso_local zeroext i8 @ld_align64_uint8_t_uint32_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_reg_uint8_t_uint32_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i8 @ld_reg_uint8_t_uint32_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_uint8_t_uint32_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbzx r3, r3, r4 @@ -4055,10 +4026,9 @@ define dso_local zeroext i8 @ld_reg_uint8_t_uint32_t(i8* nocapture readonly %ptr ; CHECK-BE-NEXT: lbz r3, 3(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - %1 = load i32, i32* %0, align 4 - %conv = trunc i32 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i32, ptr %add.ptr, align 4 + %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -4078,8 +4048,8 @@ define dso_local zeroext i8 @ld_or_uint8_t_uint32_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv1 = trunc i32 %1 to i8 ret i8 %conv1 } @@ -4099,8 +4069,8 @@ define dso_local zeroext i8 @ld_not_disjoint16_uint8_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4121,8 +4091,8 @@ define dso_local zeroext i8 @ld_disjoint_align16_uint8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 8 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4144,8 +4114,8 @@ define dso_local zeroext i8 @ld_not_disjoint32_uint8_t_uint32_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4204,8 +4174,8 @@ define dso_local zeroext i8 @ld_disjoint_align32_uint8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 16 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4271,8 +4241,8 @@ define dso_local zeroext i8 @ld_not_disjoint64_uint8_t_uint32_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4339,8 +4309,8 @@ define dso_local zeroext i8 @ld_disjoint_unalign64_uint8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4404,8 +4374,8 @@ define dso_local zeroext i8 @ld_disjoint_align64_uint8_t_uint32_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - %1 = load i32, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i32, ptr %0, align 4096 %conv = trunc i32 %1 to i8 ret i8 %conv } @@ -4422,7 +4392,7 @@ define dso_local zeroext i8 @ld_cst_align16_uint8_t_uint32_t() { ; CHECK-BE-NEXT: lbz r3, 4083(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 4080 to i32*), align 16 + %0 = load i32, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -4441,7 +4411,7 @@ define dso_local zeroext i8 @ld_cst_align32_uint8_t_uint32_t() { ; CHECK-BE-NEXT: lbz r3, -27105(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 9999900 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -4500,7 +4470,7 @@ define dso_local zeroext i8 @ld_cst_unalign64_uint8_t_uint32_t() { ; CHECK-P8-BE-NEXT: lbz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000001 to i32*), align 4 + %0 = load i32, ptr inttoptr (i64 1000000000001 to ptr), align 4 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -4556,7 +4526,7 @@ define dso_local zeroext i8 @ld_cst_align64_uint8_t_uint32_t() { ; CHECK-P8-BE-NEXT: lbz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i32, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + %0 = load i32, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i32 %0 to i8 ret i8 %conv } @@ -4573,14 +4543,14 @@ define dso_local zeroext i8 @ld_0_uint8_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: lbz r3, 7(r3) ; CHECK-BE-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align16_uint8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align16_uint8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-LE-LABEL: ld_align16_uint8_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbz r3, 8(r3) @@ -4591,15 +4561,14 @@ define dso_local zeroext i8 @ld_align16_uint8_t_uint64_t(i8* nocapture readonly ; CHECK-BE-NEXT: lbz r3, 15(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align32_uint8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align32_uint8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align32_uint8_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: plbz r3, 99999000(r3), 0 @@ -4638,15 +4607,14 @@ define dso_local zeroext i8 @ld_align32_uint8_t_uint64_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_unalign64_uint8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_unalign64_uint8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_unalign64_uint8_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 232 @@ -4699,15 +4667,14 @@ define dso_local zeroext i8 @ld_unalign64_uint8_t_uint64_t(i8* nocapture readonl ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align64_uint8_t_uint64_t(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align64_uint8_t_uint64_t(ptr nocapture readonly %ptr) { ; CHECK-P10-LE-LABEL: ld_align64_uint8_t_uint64_t: ; CHECK-P10-LE: # %bb.0: # %entry ; CHECK-P10-LE-NEXT: pli r4, 244140625 @@ -4757,15 +4724,14 @@ define dso_local zeroext i8 @ld_align64_uint8_t_uint64_t(i8* nocapture readonly ; CHECK-P8-BE-NEXT: lbzx r3, r3, r4 ; CHECK-P8-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_reg_uint8_t_uint64_t(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i8 @ld_reg_uint8_t_uint64_t(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LE-LABEL: ld_reg_uint8_t_uint64_t: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: lbzx r3, r3, r4 @@ -4777,10 +4743,9 @@ define dso_local zeroext i8 @ld_reg_uint8_t_uint64_t(i8* nocapture readonly %ptr ; CHECK-BE-NEXT: lbz r3, 7(r3) ; CHECK-BE-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - %1 = load i64, i64* %0, align 8 - %conv = trunc i64 %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load i64, ptr %add.ptr, align 8 + %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -4800,8 +4765,8 @@ define dso_local zeroext i8 @ld_or_uint8_t_uint64_t(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv1 = trunc i64 %1 to i8 ret i8 %conv1 } @@ -4821,8 +4786,8 @@ define dso_local zeroext i8 @ld_not_disjoint16_uint8_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -4843,8 +4808,8 @@ define dso_local zeroext i8 @ld_disjoint_align16_uint8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -4866,8 +4831,8 @@ define dso_local zeroext i8 @ld_not_disjoint32_uint8_t_uint64_t(i64 %ptr) { ; CHECK-BE-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -4926,8 +4891,8 @@ define dso_local zeroext i8 @ld_disjoint_align32_uint8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 16 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -4993,8 +4958,8 @@ define dso_local zeroext i8 @ld_not_disjoint64_uint8_t_uint64_t(i64 %ptr) { ; CHECK-P8-BE-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -5061,8 +5026,8 @@ define dso_local zeroext i8 @ld_disjoint_unalign64_uint8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 8 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -5126,8 +5091,8 @@ define dso_local zeroext i8 @ld_disjoint_align64_uint8_t_uint64_t(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - %1 = load i64, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load i64, ptr %0, align 4096 %conv = trunc i64 %1 to i8 ret i8 %conv } @@ -5144,7 +5109,7 @@ define dso_local zeroext i8 @ld_cst_align16_uint8_t_uint64_t() { ; CHECK-BE-NEXT: lbz r3, 4087(0) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 4080 to i64*), align 16 + %0 = load i64, ptr inttoptr (i64 4080 to ptr), align 16 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -5163,7 +5128,7 @@ define dso_local zeroext i8 @ld_cst_align32_uint8_t_uint64_t() { ; CHECK-BE-NEXT: lbz r3, -27101(r3) ; CHECK-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 9999900 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -5222,7 +5187,7 @@ define dso_local zeroext i8 @ld_cst_unalign64_uint8_t_uint64_t() { ; CHECK-P8-BE-NEXT: lbz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000001 to i64*), align 8 + %0 = load i64, ptr inttoptr (i64 1000000000001 to ptr), align 8 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -5278,7 +5243,7 @@ define dso_local zeroext i8 @ld_cst_align64_uint8_t_uint64_t() { ; CHECK-P8-BE-NEXT: lbz r3, 0(r3) ; CHECK-P8-BE-NEXT: blr entry: - %0 = load i64, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + %0 = load i64, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = trunc i64 %0 to i8 ret i8 %conv } @@ -5292,14 +5257,14 @@ define dso_local zeroext i8 @ld_0_uint8_t_float(i64 %ptr) { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align16_uint8_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align16_uint8_t_float(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs f0, 8(r3) @@ -5307,15 +5272,14 @@ define dso_local zeroext i8 @ld_align16_uint8_t_float(i8* nocapture readonly %pt ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align32_uint8_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align32_uint8_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfs f0, 99999000(r3), 0 @@ -5332,15 +5296,14 @@ define dso_local zeroext i8 @ld_align32_uint8_t_float(i8* nocapture readonly %pt ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_unalign64_uint8_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_unalign64_uint8_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -5362,15 +5325,14 @@ define dso_local zeroext i8 @ld_unalign64_uint8_t_float(i8* nocapture readonly % ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align64_uint8_t_float(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align64_uint8_t_float(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -5390,15 +5352,14 @@ define dso_local zeroext i8 @ld_align64_uint8_t_float(i8* nocapture readonly %pt ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_reg_uint8_t_float(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i8 @ld_reg_uint8_t_float(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfsx f0, r3, r4 @@ -5406,10 +5367,9 @@ define dso_local zeroext i8 @ld_reg_uint8_t_float(i8* nocapture readonly %ptr, i ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - %1 = load float, float* %0, align 4 - %conv = fptoui float %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load float, ptr %add.ptr, align 4 + %conv = fptoui float %0 to i8 ret i8 %conv } @@ -5425,8 +5385,8 @@ define dso_local zeroext i8 @ld_or_uint8_t_float(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv1 = fptoui float %1 to i8 ret i8 %conv1 } @@ -5442,8 +5402,8 @@ define dso_local zeroext i8 @ld_not_disjoint16_uint8_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5460,8 +5420,8 @@ define dso_local zeroext i8 @ld_disjoint_align16_uint8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 8 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5478,8 +5438,8 @@ define dso_local zeroext i8 @ld_not_disjoint32_uint8_t_float(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5519,8 +5479,8 @@ define dso_local zeroext i8 @ld_disjoint_align32_uint8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 16 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5551,8 +5511,8 @@ define dso_local zeroext i8 @ld_not_disjoint64_uint8_t_float(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5584,8 +5544,8 @@ define dso_local zeroext i8 @ld_disjoint_unalign64_uint8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5615,8 +5575,8 @@ define dso_local zeroext i8 @ld_disjoint_align64_uint8_t_float(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - %1 = load float, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load float, ptr %0, align 4096 %conv = fptoui float %1 to i8 ret i8 %conv } @@ -5630,7 +5590,7 @@ define dso_local zeroext i8 @ld_cst_align16_uint8_t_float() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 4080 to float*), align 16 + %0 = load float, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui float %0 to i8 ret i8 %conv } @@ -5645,7 +5605,7 @@ define dso_local zeroext i8 @ld_cst_align32_uint8_t_float() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 9999900 to float*), align 4 + %0 = load float, ptr inttoptr (i64 9999900 to ptr), align 4 %conv = fptoui float %0 to i8 ret i8 %conv } @@ -5673,7 +5633,7 @@ define dso_local zeroext i8 @ld_cst_unalign64_uint8_t_float() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000001 to float*), align 4 + %0 = load float, ptr inttoptr (i64 1000000000001 to ptr), align 4 %conv = fptoui float %0 to i8 ret i8 %conv } @@ -5699,7 +5659,7 @@ define dso_local zeroext i8 @ld_cst_align64_uint8_t_float() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load float, float* inttoptr (i64 1000000000000 to float*), align 4096 + %0 = load float, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui float %0 to i8 ret i8 %conv } @@ -5713,14 +5673,14 @@ define dso_local zeroext i8 @ld_0_uint8_t_double(i64 %ptr) { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align16_uint8_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align16_uint8_t_double(ptr nocapture readonly %ptr) { ; CHECK-LABEL: ld_align16_uint8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd f0, 8(r3) @@ -5728,15 +5688,14 @@ define dso_local zeroext i8 @ld_align16_uint8_t_double(i8* nocapture readonly %p ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align32_uint8_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align32_uint8_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align32_uint8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: plfd f0, 99999000(r3), 0 @@ -5753,15 +5712,14 @@ define dso_local zeroext i8 @ld_align32_uint8_t_double(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_unalign64_uint8_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_unalign64_uint8_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_unalign64_uint8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 232 @@ -5783,15 +5741,14 @@ define dso_local zeroext i8 @ld_unalign64_uint8_t_double(i8* nocapture readonly ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000001 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000001 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_align64_uint8_t_double(i8* nocapture readonly %ptr) { +define dso_local zeroext i8 @ld_align64_uint8_t_double(ptr nocapture readonly %ptr) { ; CHECK-P10-LABEL: ld_align64_uint8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r4, 244140625 @@ -5811,15 +5768,14 @@ define dso_local zeroext i8 @ld_align64_uint8_t_double(i8* nocapture readonly %p ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i8 ret i8 %conv } ; Function Attrs: norecurse nounwind readonly uwtable willreturn -define dso_local zeroext i8 @ld_reg_uint8_t_double(i8* nocapture readonly %ptr, i64 %off) { +define dso_local zeroext i8 @ld_reg_uint8_t_double(ptr nocapture readonly %ptr, i64 %off) { ; CHECK-LABEL: ld_reg_uint8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfdx f0, r3, r4 @@ -5827,10 +5783,9 @@ define dso_local zeroext i8 @ld_reg_uint8_t_double(i8* nocapture readonly %ptr, ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - %1 = load double, double* %0, align 8 - %conv = fptoui double %1 to i8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + %0 = load double, ptr %add.ptr, align 8 + %conv = fptoui double %0 to i8 ret i8 %conv } @@ -5846,8 +5801,8 @@ define dso_local zeroext i8 @ld_or_uint8_t_double(i64 %ptr, i8 zeroext %off) { entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv1 = fptoui double %1 to i8 ret i8 %conv1 } @@ -5863,8 +5818,8 @@ define dso_local zeroext i8 @ld_not_disjoint16_uint8_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -5881,8 +5836,8 @@ define dso_local zeroext i8 @ld_disjoint_align16_uint8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -5899,8 +5854,8 @@ define dso_local zeroext i8 @ld_not_disjoint32_uint8_t_double(i64 %ptr) { ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -5940,8 +5895,8 @@ define dso_local zeroext i8 @ld_disjoint_align32_uint8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 16 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -5972,8 +5927,8 @@ define dso_local zeroext i8 @ld_not_disjoint64_uint8_t_double(i64 %ptr) { ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -6005,8 +5960,8 @@ define dso_local zeroext i8 @ld_disjoint_unalign64_uint8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000001 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 8 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -6036,8 +5991,8 @@ define dso_local zeroext i8 @ld_disjoint_align64_uint8_t_double(i64 %ptr) { entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - %1 = load double, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + %1 = load double, ptr %0, align 4096 %conv = fptoui double %1 to i8 ret i8 %conv } @@ -6051,7 +6006,7 @@ define dso_local zeroext i8 @ld_cst_align16_uint8_t_double() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 4080 to double*), align 16 + %0 = load double, ptr inttoptr (i64 4080 to ptr), align 16 %conv = fptoui double %0 to i8 ret i8 %conv } @@ -6066,7 +6021,7 @@ define dso_local zeroext i8 @ld_cst_align32_uint8_t_double() { ; CHECK-NEXT: mffprwz r3, f0 ; CHECK-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 9999900 to double*), align 8 + %0 = load double, ptr inttoptr (i64 9999900 to ptr), align 8 %conv = fptoui double %0 to i8 ret i8 %conv } @@ -6094,7 +6049,7 @@ define dso_local zeroext i8 @ld_cst_unalign64_uint8_t_double() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000001 to double*), align 8 + %0 = load double, ptr inttoptr (i64 1000000000001 to ptr), align 8 %conv = fptoui double %0 to i8 ret i8 %conv } @@ -6120,7 +6075,7 @@ define dso_local zeroext i8 @ld_cst_align64_uint8_t_double() { ; CHECK-PREP10-NEXT: mffprwz r3, f0 ; CHECK-PREP10-NEXT: blr entry: - %0 = load double, double* inttoptr (i64 1000000000000 to double*), align 4096 + %0 = load double, ptr inttoptr (i64 1000000000000 to ptr), align 4096 %conv = fptoui double %0 to i8 ret i8 %conv } @@ -6132,25 +6087,25 @@ define dso_local void @st_0_uint8_t_uint8_t(i64 %ptr, i8 zeroext %str) { ; CHECK-NEXT: stb r4, 0(r3) ; CHECK-NEXT: blr entry: - %0 = inttoptr i64 %ptr to i8* - store i8 %str, i8* %0, align 1 + %0 = inttoptr i64 %ptr to ptr + store i8 %str, ptr %0, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint8_t_uint8_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align16_uint8_t_uint8_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-LABEL: st_align16_uint8_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stb r4, 8(r3) ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - store i8 %str, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i8 %str, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint8_t_uint8_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align32_uint8_t_uint8_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstb r4, 99999000(r3), 0 @@ -6163,13 +6118,13 @@ define dso_local void @st_align32_uint8_t_uint8_t(i8* nocapture %ptr, i8 zeroext ; CHECK-PREP10-NEXT: stbx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - store i8 %str, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i8 %str, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint8_t_uint8_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align64_uint8_t_uint8_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint8_t_uint8_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6185,20 +6140,20 @@ define dso_local void @st_align64_uint8_t_uint8_t(i8* nocapture %ptr, i8 zeroext ; CHECK-PREP10-NEXT: stbx r4, r3, r5 ; CHECK-PREP10-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - store i8 %str, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i8 %str, ptr %add.ptr, align 1 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint8_t_uint8_t(i8* nocapture %ptr, i64 %off, i8 zeroext %str) { +define dso_local void @st_reg_uint8_t_uint8_t(ptr nocapture %ptr, i64 %off, i8 zeroext %str) { ; CHECK-LABEL: st_reg_uint8_t_uint8_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stbx r5, r3, r4 ; CHECK-NEXT: blr entry: - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - store i8 %str, i8* %add.ptr, align 1 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i8 %str, ptr %add.ptr, align 1 ret void } @@ -6212,8 +6167,8 @@ define dso_local void @st_or1_uint8_t_uint8_t(i64 %ptr, i8 zeroext %off, i8 zero entry: %conv = zext i8 %off to i64 %or = or i64 %conv, %ptr - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 1 ret void } @@ -6226,8 +6181,8 @@ define dso_local void @st_not_disjoint16_uint8_t_uint8_t(i64 %ptr, i8 zeroext %s ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 1 ret void } @@ -6241,8 +6196,8 @@ define dso_local void @st_disjoint_align16_uint8_t_uint8_t(i64 %ptr, i8 zeroext entry: %and = and i64 %ptr, -4096 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 8 ret void } @@ -6256,8 +6211,8 @@ define dso_local void @st_not_disjoint32_uint8_t_uint8_t(i64 %ptr, i8 zeroext %s ; CHECK-NEXT: blr entry: %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 1 ret void } @@ -6290,8 +6245,8 @@ define dso_local void @st_disjoint_align32_uint8_t_uint8_t(i64 %ptr, i8 zeroext entry: %and = and i64 %ptr, -1000341504 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 16 ret void } @@ -6317,8 +6272,8 @@ define dso_local void @st_not_disjoint64_uint8_t_uint8_t(i64 %ptr, i8 zeroext %s ; CHECK-PREP10-NEXT: blr entry: %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 1 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 1 ret void } @@ -6343,8 +6298,8 @@ define dso_local void @st_disjoint_align64_uint8_t_uint8_t(i64 %ptr, i8 zeroext entry: %and = and i64 %ptr, -1099511627776 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i8* - store i8 %str, i8* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i8 %str, ptr %0, align 4096 ret void } @@ -6355,7 +6310,7 @@ define dso_local void @st_cst_align16_uint8_t_uint8_t(i8 zeroext %str) { ; CHECK-NEXT: stb r3, 4080(0) ; CHECK-NEXT: blr entry: - store i8 %str, i8* inttoptr (i64 4080 to i8*), align 16 + store i8 %str, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6367,7 +6322,7 @@ define dso_local void @st_cst_align32_uint8_t_uint8_t(i8 zeroext %str) { ; CHECK-NEXT: stb r3, -27108(r4) ; CHECK-NEXT: blr entry: - store i8 %str, i8* inttoptr (i64 9999900 to i8*), align 4 + store i8 %str, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6388,7 +6343,7 @@ define dso_local void @st_cst_align64_uint8_t_uint8_t(i8 zeroext %str) { ; CHECK-PREP10-NEXT: stb r3, 0(r4) ; CHECK-PREP10-NEXT: blr entry: - store i8 %str, i8* inttoptr (i64 1000000000000 to i8*), align 4096 + store i8 %str, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6400,27 +6355,26 @@ define dso_local void @st_0_uint8_t_uint16_t(i64 %ptr, i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint8_t_uint16_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align16_uint8_t_uint16_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-LABEL: st_align16_uint8_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sth r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint8_t_uint16_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align32_uint8_t_uint16_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint8_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: psth r4, 99999000(r3), 0 @@ -6434,14 +6388,13 @@ define dso_local void @st_align32_uint8_t_uint16_t(i8* nocapture %ptr, i8 zeroex ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint8_t_uint16_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align64_uint8_t_uint16_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint8_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6458,23 +6411,21 @@ define dso_local void @st_align64_uint8_t_uint16_t(i8* nocapture %ptr, i8 zeroex ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint8_t_uint16_t(i8* nocapture %ptr, i64 %off, i8 zeroext %str) { +define dso_local void @st_reg_uint8_t_uint16_t(ptr nocapture %ptr, i64 %off, i8 zeroext %str) { ; CHECK-LABEL: st_reg_uint8_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sthx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -6489,8 +6440,8 @@ entry: %conv = zext i8 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6504,8 +6455,8 @@ define dso_local void @st_not_disjoint16_uint8_t_uint16_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6520,8 +6471,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -6536,8 +6487,8 @@ define dso_local void @st_not_disjoint32_uint8_t_uint16_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6571,8 +6522,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = zext i8 %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -6599,8 +6550,8 @@ define dso_local void @st_not_disjoint64_uint8_t_uint16_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -6626,8 +6577,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = zext i8 %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -6639,7 +6590,7 @@ define dso_local void @st_cst_align16_uint8_t_uint16_t(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6652,7 +6603,7 @@ define dso_local void @st_cst_align32_uint8_t_uint16_t(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6674,7 +6625,7 @@ define dso_local void @st_cst_align64_uint8_t_uint16_t(i8 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6686,27 +6637,26 @@ define dso_local void @st_0_uint8_t_uint32_t(i64 %ptr, i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint8_t_uint32_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align16_uint8_t_uint32_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-LABEL: st_align16_uint8_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint8_t_uint32_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align32_uint8_t_uint32_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint8_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstw r4, 99999000(r3), 0 @@ -6720,14 +6670,13 @@ define dso_local void @st_align32_uint8_t_uint32_t(i8* nocapture %ptr, i8 zeroex ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint8_t_uint32_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align64_uint8_t_uint32_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint8_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -6744,23 +6693,21 @@ define dso_local void @st_align64_uint8_t_uint32_t(i8* nocapture %ptr, i8 zeroex ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint8_t_uint32_t(i8* nocapture %ptr, i64 %off, i8 zeroext %str) { +define dso_local void @st_reg_uint8_t_uint32_t(ptr nocapture %ptr, i64 %off, i8 zeroext %str) { ; CHECK-LABEL: st_reg_uint8_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stwx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -6775,8 +6722,8 @@ entry: %conv = zext i8 %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6790,8 +6737,8 @@ define dso_local void @st_not_disjoint16_uint8_t_uint32_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6806,8 +6753,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -6822,8 +6769,8 @@ define dso_local void @st_not_disjoint32_uint8_t_uint32_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6857,8 +6804,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = zext i8 %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -6885,8 +6832,8 @@ define dso_local void @st_not_disjoint64_uint8_t_uint32_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -6912,8 +6859,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = zext i8 %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -6925,7 +6872,7 @@ define dso_local void @st_cst_align16_uint8_t_uint32_t(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -6938,7 +6885,7 @@ define dso_local void @st_cst_align32_uint8_t_uint32_t(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -6960,7 +6907,7 @@ define dso_local void @st_cst_align64_uint8_t_uint32_t(i8 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -6972,27 +6919,26 @@ define dso_local void @st_0_uint8_t_uint64_t(i64 %ptr, i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint8_t_uint64_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align16_uint8_t_uint64_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-LABEL: st_align16_uint8_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint8_t_uint64_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align32_uint8_t_uint64_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint8_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -7006,14 +6952,13 @@ define dso_local void @st_align32_uint8_t_uint64_t(i8* nocapture %ptr, i8 zeroex ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint8_t_uint64_t(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align64_uint8_t_uint64_t(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint8_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -7030,23 +6975,21 @@ define dso_local void @st_align64_uint8_t_uint64_t(i8* nocapture %ptr, i8 zeroex ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint8_t_uint64_t(i8* nocapture %ptr, i64 %off, i8 zeroext %str) { +define dso_local void @st_reg_uint8_t_uint64_t(ptr nocapture %ptr, i64 %off, i8 zeroext %str) { ; CHECK-LABEL: st_reg_uint8_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -7061,8 +7004,8 @@ entry: %conv = zext i8 %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7076,8 +7019,8 @@ define dso_local void @st_not_disjoint16_uint8_t_uint64_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7092,8 +7035,8 @@ entry: %and = and i64 %ptr, -4096 %conv = zext i8 %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7108,8 +7051,8 @@ define dso_local void @st_not_disjoint32_uint8_t_uint64_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7143,8 +7086,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = zext i8 %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -7171,8 +7114,8 @@ define dso_local void @st_not_disjoint64_uint8_t_uint64_t(i64 %ptr, i8 zeroext % entry: %conv = zext i8 %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -7198,8 +7141,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = zext i8 %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -7211,7 +7154,7 @@ define dso_local void @st_cst_align16_uint8_t_uint64_t(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7224,7 +7167,7 @@ define dso_local void @st_cst_align32_uint8_t_uint64_t(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = zext i8 %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -7246,7 +7189,7 @@ define dso_local void @st_cst_align64_uint8_t_uint64_t(i8 zeroext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = zext i8 %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7260,13 +7203,13 @@ define dso_local void @st_0_uint8_t_float(i64 %ptr, i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint8_t_float(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align16_uint8_t_float(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-LABEL: st_align16_uint8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r4 @@ -7275,14 +7218,13 @@ define dso_local void @st_align16_uint8_t_float(i8* nocapture %ptr, i8 zeroext % ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint8_t_float(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align32_uint8_t_float(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -7309,14 +7251,13 @@ define dso_local void @st_align32_uint8_t_float(i8* nocapture %ptr, i8 zeroext % ; CHECK-P8-NEXT: blr entry: %conv = uitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint8_t_float(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align64_uint8_t_float(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -7347,14 +7288,13 @@ define dso_local void @st_align64_uint8_t_float(i8* nocapture %ptr, i8 zeroext % ; CHECK-P8-NEXT: blr entry: %conv = uitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint8_t_float(i8* nocapture %ptr, i64 %off, i8 zeroext %str) { +define dso_local void @st_reg_uint8_t_float(ptr nocapture %ptr, i64 %off, i8 zeroext %str) { ; CHECK-LABEL: st_reg_uint8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r5 @@ -7363,9 +7303,8 @@ define dso_local void @st_reg_uint8_t_float(i8* nocapture %ptr, i64 %off, i8 zer ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -7382,8 +7321,8 @@ entry: %conv = uitofp i8 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7399,8 +7338,8 @@ define dso_local void @st_not_disjoint16_uint8_t_float(i64 %ptr, i8 zeroext %str entry: %conv = uitofp i8 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7417,8 +7356,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i8 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -7453,8 +7392,8 @@ define dso_local void @st_not_disjoint32_uint8_t_float(i64 %ptr, i8 zeroext %str entry: %conv = uitofp i8 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7494,8 +7433,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i8 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -7526,8 +7465,8 @@ define dso_local void @st_not_disjoint64_uint8_t_float(i64 %ptr, i8 zeroext %str entry: %conv = uitofp i8 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -7568,8 +7507,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i8 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -7583,7 +7522,7 @@ define dso_local void @st_cst_align16_uint8_t_float(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7598,7 +7537,7 @@ define dso_local void @st_cst_align32_uint8_t_float(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -7634,7 +7573,7 @@ define dso_local void @st_cst_align64_uint8_t_float(i8 zeroext %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i8 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -7648,13 +7587,13 @@ define dso_local void @st_0_uint8_t_double(i64 %ptr, i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_uint8_t_double(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align16_uint8_t_double(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-LABEL: st_align16_uint8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r4 @@ -7663,14 +7602,13 @@ define dso_local void @st_align16_uint8_t_double(i8* nocapture %ptr, i8 zeroext ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_uint8_t_double(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align32_uint8_t_double(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align32_uint8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -7697,14 +7635,13 @@ define dso_local void @st_align32_uint8_t_double(i8* nocapture %ptr, i8 zeroext ; CHECK-P8-NEXT: blr entry: %conv = uitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_uint8_t_double(i8* nocapture %ptr, i8 zeroext %str) { +define dso_local void @st_align64_uint8_t_double(ptr nocapture %ptr, i8 zeroext %str) { ; CHECK-P10-LABEL: st_align64_uint8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwz f0, r4 @@ -7735,14 +7672,13 @@ define dso_local void @st_align64_uint8_t_double(i8* nocapture %ptr, i8 zeroext ; CHECK-P8-NEXT: blr entry: %conv = uitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_uint8_t_double(i8* nocapture %ptr, i64 %off, i8 zeroext %str) { +define dso_local void @st_reg_uint8_t_double(ptr nocapture %ptr, i64 %off, i8 zeroext %str) { ; CHECK-LABEL: st_reg_uint8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwz f0, r5 @@ -7751,9 +7687,8 @@ define dso_local void @st_reg_uint8_t_double(i8* nocapture %ptr, i64 %off, i8 ze ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -7770,8 +7705,8 @@ entry: %conv = uitofp i8 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7787,8 +7722,8 @@ define dso_local void @st_not_disjoint16_uint8_t_double(i64 %ptr, i8 zeroext %st entry: %conv = uitofp i8 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7805,8 +7740,8 @@ entry: %and = and i64 %ptr, -4096 %conv = uitofp i8 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7841,8 +7776,8 @@ define dso_local void @st_not_disjoint32_uint8_t_double(i64 %ptr, i8 zeroext %st entry: %conv = uitofp i8 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7882,8 +7817,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = uitofp i8 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -7914,8 +7849,8 @@ define dso_local void @st_not_disjoint64_uint8_t_double(i64 %ptr, i8 zeroext %st entry: %conv = uitofp i8 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -7956,8 +7891,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = uitofp i8 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -7971,7 +7906,7 @@ define dso_local void @st_cst_align16_uint8_t_double(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -7986,7 +7921,7 @@ define dso_local void @st_cst_align32_uint8_t_double(i8 zeroext %str) { ; CHECK-NEXT: blr entry: %conv = uitofp i8 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -8022,7 +7957,7 @@ define dso_local void @st_cst_align64_uint8_t_double(i8 zeroext %str) { ; CHECK-P8-NEXT: blr entry: %conv = uitofp i8 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -8034,27 +7969,26 @@ define dso_local void @st_0_int8_t_uint16_t(i64 %ptr, i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i16 - %0 = inttoptr i64 %ptr to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %ptr to ptr + store i16 %conv, ptr %0, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int8_t_uint16_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align16_int8_t_uint16_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-LABEL: st_align16_int8_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sth r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int8_t_uint16_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align32_int8_t_uint16_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align32_int8_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: psth r4, 99999000(r3), 0 @@ -8068,14 +8002,13 @@ define dso_local void @st_align32_int8_t_uint16_t(i8* nocapture %ptr, i8 signext ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int8_t_uint16_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align64_int8_t_uint16_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align64_int8_t_uint16_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -8092,23 +8025,21 @@ define dso_local void @st_align64_int8_t_uint16_t(i8* nocapture %ptr, i8 signext ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i16 %conv, ptr %add.ptr, align 2 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int8_t_uint16_t(i8* nocapture %ptr, i64 %off, i8 signext %str) { +define dso_local void @st_reg_int8_t_uint16_t(ptr nocapture %ptr, i64 %off, i8 signext %str) { ; CHECK-LABEL: st_reg_int8_t_uint16_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: sthx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i16 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i16* - store i16 %conv, i16* %0, align 2 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i16 %conv, ptr %add.ptr, align 2 ret void } @@ -8123,8 +8054,8 @@ entry: %conv = sext i8 %str to i16 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -8138,8 +8069,8 @@ define dso_local void @st_not_disjoint16_int8_t_uint16_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i16 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -8154,8 +8085,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sext i8 %str to i16 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 8 ret void } @@ -8170,8 +8101,8 @@ define dso_local void @st_not_disjoint32_int8_t_uint16_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i16 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -8205,8 +8136,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sext i8 %str to i16 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 16 ret void } @@ -8233,8 +8164,8 @@ define dso_local void @st_not_disjoint64_int8_t_uint16_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i16 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 2 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 2 ret void } @@ -8260,8 +8191,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sext i8 %str to i16 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i16* - store i16 %conv, i16* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i16 %conv, ptr %0, align 4096 ret void } @@ -8273,7 +8204,7 @@ define dso_local void @st_cst_align16_int8_t_uint16_t(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i16 - store i16 %conv, i16* inttoptr (i64 4080 to i16*), align 16 + store i16 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -8286,7 +8217,7 @@ define dso_local void @st_cst_align32_int8_t_uint16_t(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i16 - store i16 %conv, i16* inttoptr (i64 9999900 to i16*), align 4 + store i16 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -8308,7 +8239,7 @@ define dso_local void @st_cst_align64_int8_t_uint16_t(i8 signext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i16 - store i16 %conv, i16* inttoptr (i64 1000000000000 to i16*), align 4096 + store i16 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -8320,27 +8251,26 @@ define dso_local void @st_0_int8_t_uint32_t(i64 %ptr, i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i32 - %0 = inttoptr i64 %ptr to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store i32 %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int8_t_uint32_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align16_int8_t_uint32_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-LABEL: st_align16_int8_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int8_t_uint32_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align32_int8_t_uint32_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align32_int8_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstw r4, 99999000(r3), 0 @@ -8354,14 +8284,13 @@ define dso_local void @st_align32_int8_t_uint32_t(i8* nocapture %ptr, i8 signext ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int8_t_uint32_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align64_int8_t_uint32_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align64_int8_t_uint32_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -8378,23 +8307,21 @@ define dso_local void @st_align64_int8_t_uint32_t(i8* nocapture %ptr, i8 signext ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i32 %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int8_t_uint32_t(i8* nocapture %ptr, i64 %off, i8 signext %str) { +define dso_local void @st_reg_int8_t_uint32_t(ptr nocapture %ptr, i64 %off, i8 signext %str) { ; CHECK-LABEL: st_reg_int8_t_uint32_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stwx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i32 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i32* - store i32 %conv, i32* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i32 %conv, ptr %add.ptr, align 4 ret void } @@ -8409,8 +8336,8 @@ entry: %conv = sext i8 %str to i32 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -8424,8 +8351,8 @@ define dso_local void @st_not_disjoint16_int8_t_uint32_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i32 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -8440,8 +8367,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sext i8 %str to i32 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 8 ret void } @@ -8456,8 +8383,8 @@ define dso_local void @st_not_disjoint32_int8_t_uint32_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i32 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -8491,8 +8418,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sext i8 %str to i32 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 16 ret void } @@ -8519,8 +8446,8 @@ define dso_local void @st_not_disjoint64_int8_t_uint32_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i32 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4 ret void } @@ -8546,8 +8473,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sext i8 %str to i32 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i32* - store i32 %conv, i32* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i32 %conv, ptr %0, align 4096 ret void } @@ -8559,7 +8486,7 @@ define dso_local void @st_cst_align16_int8_t_uint32_t(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i32 - store i32 %conv, i32* inttoptr (i64 4080 to i32*), align 16 + store i32 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -8572,7 +8499,7 @@ define dso_local void @st_cst_align32_int8_t_uint32_t(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i32 - store i32 %conv, i32* inttoptr (i64 9999900 to i32*), align 4 + store i32 %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -8594,7 +8521,7 @@ define dso_local void @st_cst_align64_int8_t_uint32_t(i8 signext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i32 - store i32 %conv, i32* inttoptr (i64 1000000000000 to i32*), align 4096 + store i32 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -8606,27 +8533,26 @@ define dso_local void @st_0_int8_t_uint64_t(i64 %ptr, i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i64 - %0 = inttoptr i64 %ptr to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store i64 %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int8_t_uint64_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align16_int8_t_uint64_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-LABEL: st_align16_int8_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std r4, 8(r3) ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int8_t_uint64_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align32_int8_t_uint64_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align32_int8_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pstd r4, 99999000(r3), 0 @@ -8640,14 +8566,13 @@ define dso_local void @st_align32_int8_t_uint64_t(i8* nocapture %ptr, i8 signext ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int8_t_uint64_t(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align64_int8_t_uint64_t(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align64_int8_t_uint64_t: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: pli r5, 244140625 @@ -8664,23 +8589,21 @@ define dso_local void @st_align64_int8_t_uint64_t(i8* nocapture %ptr, i8 signext ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store i64 %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int8_t_uint64_t(i8* nocapture %ptr, i64 %off, i8 signext %str) { +define dso_local void @st_reg_int8_t_uint64_t(ptr nocapture %ptr, i64 %off, i8 signext %str) { ; CHECK-LABEL: st_reg_int8_t_uint64_t: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdx r5, r3, r4 ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i64 - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to i64* - store i64 %conv, i64* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store i64 %conv, ptr %add.ptr, align 8 ret void } @@ -8695,8 +8618,8 @@ entry: %conv = sext i8 %str to i64 %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -8710,8 +8633,8 @@ define dso_local void @st_not_disjoint16_int8_t_uint64_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i64 %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -8726,8 +8649,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sext i8 %str to i64 %or = or i64 %and, 24 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -8742,8 +8665,8 @@ define dso_local void @st_not_disjoint32_int8_t_uint64_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i64 %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -8777,8 +8700,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sext i8 %str to i64 %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 16 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 16 ret void } @@ -8805,8 +8728,8 @@ define dso_local void @st_not_disjoint64_int8_t_uint64_t(i64 %ptr, i8 signext %s entry: %conv = sext i8 %str to i64 %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 8 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 8 ret void } @@ -8832,8 +8755,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sext i8 %str to i64 %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to i64* - store i64 %conv, i64* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store i64 %conv, ptr %0, align 4096 ret void } @@ -8845,7 +8768,7 @@ define dso_local void @st_cst_align16_int8_t_uint64_t(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i64 - store i64 %conv, i64* inttoptr (i64 4080 to i64*), align 16 + store i64 %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -8858,7 +8781,7 @@ define dso_local void @st_cst_align32_int8_t_uint64_t(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sext i8 %str to i64 - store i64 %conv, i64* inttoptr (i64 9999900 to i64*), align 8 + store i64 %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -8880,7 +8803,7 @@ define dso_local void @st_cst_align64_int8_t_uint64_t(i8 signext %str) { ; CHECK-PREP10-NEXT: blr entry: %conv = sext i8 %str to i64 - store i64 %conv, i64* inttoptr (i64 1000000000000 to i64*), align 4096 + store i64 %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -8894,13 +8817,13 @@ define dso_local void @st_0_int8_t_float(i64 %ptr, i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to float - %0 = inttoptr i64 %ptr to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %ptr to ptr + store float %conv, ptr %0, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int8_t_float(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align16_int8_t_float(ptr nocapture %ptr, i8 signext %str) { ; CHECK-LABEL: st_align16_int8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r4 @@ -8909,14 +8832,13 @@ define dso_local void @st_align16_int8_t_float(i8* nocapture %ptr, i8 signext %s ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int8_t_float(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align32_int8_t_float(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align32_int8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -8943,14 +8865,13 @@ define dso_local void @st_align32_int8_t_float(i8* nocapture %ptr, i8 signext %s ; CHECK-P8-NEXT: blr entry: %conv = sitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int8_t_float(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align64_int8_t_float(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align64_int8_t_float: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -8981,14 +8902,13 @@ define dso_local void @st_align64_int8_t_float(i8* nocapture %ptr, i8 signext %s ; CHECK-P8-NEXT: blr entry: %conv = sitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store float %conv, ptr %add.ptr, align 4 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int8_t_float(i8* nocapture %ptr, i64 %off, i8 signext %str) { +define dso_local void @st_reg_int8_t_float(ptr nocapture %ptr, i64 %off, i8 signext %str) { ; CHECK-LABEL: st_reg_int8_t_float: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r5 @@ -8997,9 +8917,8 @@ define dso_local void @st_reg_int8_t_float(i8* nocapture %ptr, i64 %off, i8 sign ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to float - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to float* - store float %conv, float* %0, align 4 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store float %conv, ptr %add.ptr, align 4 ret void } @@ -9016,8 +8935,8 @@ entry: %conv = sitofp i8 %str to float %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -9033,8 +8952,8 @@ define dso_local void @st_not_disjoint16_int8_t_float(i64 %ptr, i8 signext %str) entry: %conv = sitofp i8 %str to float %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -9051,8 +8970,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i8 %str to float %or = or i64 %and, 24 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 8 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 8 ret void } @@ -9087,8 +9006,8 @@ define dso_local void @st_not_disjoint32_int8_t_float(i64 %ptr, i8 signext %str) entry: %conv = sitofp i8 %str to float %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -9128,8 +9047,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i8 %str to float %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 16 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 16 ret void } @@ -9160,8 +9079,8 @@ define dso_local void @st_not_disjoint64_int8_t_float(i64 %ptr, i8 signext %str) entry: %conv = sitofp i8 %str to float %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4 ret void } @@ -9202,8 +9121,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i8 %str to float %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to float* - store float %conv, float* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store float %conv, ptr %0, align 4096 ret void } @@ -9217,7 +9136,7 @@ define dso_local void @st_cst_align16_int8_t_float(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to float - store float %conv, float* inttoptr (i64 4080 to float*), align 16 + store float %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -9232,7 +9151,7 @@ define dso_local void @st_cst_align32_int8_t_float(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to float - store float %conv, float* inttoptr (i64 9999900 to float*), align 4 + store float %conv, ptr inttoptr (i64 9999900 to ptr), align 4 ret void } @@ -9268,7 +9187,7 @@ define dso_local void @st_cst_align64_int8_t_float(i8 signext %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i8 %str to float - store float %conv, float* inttoptr (i64 1000000000000 to float*), align 4096 + store float %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } @@ -9282,13 +9201,13 @@ define dso_local void @st_0_int8_t_double(i64 %ptr, i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to double - %0 = inttoptr i64 %ptr to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %ptr to ptr + store double %conv, ptr %0, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align16_int8_t_double(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align16_int8_t_double(ptr nocapture %ptr, i8 signext %str) { ; CHECK-LABEL: st_align16_int8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r4 @@ -9297,14 +9216,13 @@ define dso_local void @st_align16_int8_t_double(i8* nocapture %ptr, i8 signext % ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 8 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 8 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align32_int8_t_double(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align32_int8_t_double(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align32_int8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -9331,14 +9249,13 @@ define dso_local void @st_align32_int8_t_double(i8* nocapture %ptr, i8 signext % ; CHECK-P8-NEXT: blr entry: %conv = sitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 99999000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 99999000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_align64_int8_t_double(i8* nocapture %ptr, i8 signext %str) { +define dso_local void @st_align64_int8_t_double(ptr nocapture %ptr, i8 signext %str) { ; CHECK-P10-LABEL: st_align64_int8_t_double: ; CHECK-P10: # %bb.0: # %entry ; CHECK-P10-NEXT: mtfprwa f0, r4 @@ -9369,14 +9286,13 @@ define dso_local void @st_align64_int8_t_double(i8* nocapture %ptr, i8 signext % ; CHECK-P8-NEXT: blr entry: %conv = sitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 1000000000000 - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 1000000000000 + store double %conv, ptr %add.ptr, align 8 ret void } ; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly -define dso_local void @st_reg_int8_t_double(i8* nocapture %ptr, i64 %off, i8 signext %str) { +define dso_local void @st_reg_int8_t_double(ptr nocapture %ptr, i64 %off, i8 signext %str) { ; CHECK-LABEL: st_reg_int8_t_double: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mtfprwa f0, r5 @@ -9385,9 +9301,8 @@ define dso_local void @st_reg_int8_t_double(i8* nocapture %ptr, i64 %off, i8 sig ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to double - %add.ptr = getelementptr inbounds i8, i8* %ptr, i64 %off - %0 = bitcast i8* %add.ptr to double* - store double %conv, double* %0, align 8 + %add.ptr = getelementptr inbounds i8, ptr %ptr, i64 %off + store double %conv, ptr %add.ptr, align 8 ret void } @@ -9404,8 +9319,8 @@ entry: %conv = sitofp i8 %str to double %conv1 = zext i8 %off to i64 %or = or i64 %conv1, %ptr - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -9421,8 +9336,8 @@ define dso_local void @st_not_disjoint16_int8_t_double(i64 %ptr, i8 signext %str entry: %conv = sitofp i8 %str to double %or = or i64 %ptr, 6 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -9439,8 +9354,8 @@ entry: %and = and i64 %ptr, -4096 %conv = sitofp i8 %str to double %or = or i64 %and, 24 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -9475,8 +9390,8 @@ define dso_local void @st_not_disjoint32_int8_t_double(i64 %ptr, i8 signext %str entry: %conv = sitofp i8 %str to double %or = or i64 %ptr, 99999 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -9516,8 +9431,8 @@ entry: %and = and i64 %ptr, -1000341504 %conv = sitofp i8 %str to double %or = or i64 %and, 999990000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 16 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 16 ret void } @@ -9548,8 +9463,8 @@ define dso_local void @st_not_disjoint64_int8_t_double(i64 %ptr, i8 signext %str entry: %conv = sitofp i8 %str to double %or = or i64 %ptr, 1000000000001 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 8 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 8 ret void } @@ -9590,8 +9505,8 @@ entry: %and = and i64 %ptr, -1099511627776 %conv = sitofp i8 %str to double %or = or i64 %and, 1000000000000 - %0 = inttoptr i64 %or to double* - store double %conv, double* %0, align 4096 + %0 = inttoptr i64 %or to ptr + store double %conv, ptr %0, align 4096 ret void } @@ -9605,7 +9520,7 @@ define dso_local void @st_cst_align16_int8_t_double(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to double - store double %conv, double* inttoptr (i64 4080 to double*), align 16 + store double %conv, ptr inttoptr (i64 4080 to ptr), align 16 ret void } @@ -9620,7 +9535,7 @@ define dso_local void @st_cst_align32_int8_t_double(i8 signext %str) { ; CHECK-NEXT: blr entry: %conv = sitofp i8 %str to double - store double %conv, double* inttoptr (i64 9999900 to double*), align 8 + store double %conv, ptr inttoptr (i64 9999900 to ptr), align 8 ret void } @@ -9656,6 +9571,6 @@ define dso_local void @st_cst_align64_int8_t_double(i8 signext %str) { ; CHECK-P8-NEXT: blr entry: %conv = sitofp i8 %str to double - store double %conv, double* inttoptr (i64 1000000000000 to double*), align 4096 + store double %conv, ptr inttoptr (i64 1000000000000 to ptr), align 4096 ret void } diff --git a/llvm/test/CodeGen/PowerPC/scalar_vector_test_1.ll b/llvm/test/CodeGen/PowerPC/scalar_vector_test_1.ll index 6f815d1..92408c6 100644 --- a/llvm/test/CodeGen/PowerPC/scalar_vector_test_1.ll +++ b/llvm/test/CodeGen/PowerPC/scalar_vector_test_1.ll @@ -10,7 +10,7 @@ ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test1(i64* nocapture readonly %int64, <2 x i64> %vec) { +define <2 x i64> @s2v_test1(ptr nocapture readonly %int64, <2 x i64> %vec) { ; P9LE-LABEL: s2v_test1: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 0(r3) @@ -36,13 +36,13 @@ define <2 x i64> @s2v_test1(i64* nocapture readonly %int64, <2 x i64> %vec) { ; P8BE-NEXT: blr entry: - %0 = load i64, i64* %int64, align 8 + %0 = load i64, ptr %int64, align 8 %vecins = insertelement <2 x i64> %vec, i64 %0, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test2(i64* nocapture readonly %int64, <2 x i64> %vec) { +define <2 x i64> @s2v_test2(ptr nocapture readonly %int64, <2 x i64> %vec) { ; P9LE-LABEL: s2v_test2: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 8(r3) @@ -68,14 +68,14 @@ define <2 x i64> @s2v_test2(i64* nocapture readonly %int64, <2 x i64> %vec) { ; P8BE-NEXT: blr entry: - %arrayidx = getelementptr inbounds i64, i64* %int64, i64 1 - %0 = load i64, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %int64, i64 1 + %0 = load i64, ptr %arrayidx, align 8 %vecins = insertelement <2 x i64> %vec, i64 %0, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test3(i64* nocapture readonly %int64, <2 x i64> %vec, i32 signext %Idx) { +define <2 x i64> @s2v_test3(ptr nocapture readonly %int64, <2 x i64> %vec, i32 signext %Idx) { ; P9LE-LABEL: s2v_test3: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: sldi r4, r7, 3 @@ -106,14 +106,14 @@ define <2 x i64> @s2v_test3(i64* nocapture readonly %int64, <2 x i64> %vec, i32 entry: %idxprom = sext i32 %Idx to i64 - %arrayidx = getelementptr inbounds i64, i64* %int64, i64 %idxprom - %0 = load i64, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %int64, i64 %idxprom + %0 = load i64, ptr %arrayidx, align 8 %vecins = insertelement <2 x i64> %vec, i64 %0, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test4(i64* nocapture readonly %int64, <2 x i64> %vec) { +define <2 x i64> @s2v_test4(ptr nocapture readonly %int64, <2 x i64> %vec) { ; P9LE-LABEL: s2v_test4: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 8(r3) @@ -139,14 +139,14 @@ define <2 x i64> @s2v_test4(i64* nocapture readonly %int64, <2 x i64> %vec) { ; P8BE-NEXT: blr entry: - %arrayidx = getelementptr inbounds i64, i64* %int64, i64 1 - %0 = load i64, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %int64, i64 1 + %0 = load i64, ptr %arrayidx, align 8 %vecins = insertelement <2 x i64> %vec, i64 %0, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test5(<2 x i64> %vec, i64* nocapture readonly %ptr1) { +define <2 x i64> @s2v_test5(<2 x i64> %vec, ptr nocapture readonly %ptr1) { ; P9LE-LABEL: s2v_test5: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 0(r5) @@ -172,13 +172,13 @@ define <2 x i64> @s2v_test5(<2 x i64> %vec, i64* nocapture readonly %ptr1) { ; P8BE-NEXT: blr entry: - %0 = load i64, i64* %ptr1, align 8 + %0 = load i64, ptr %ptr1, align 8 %vecins = insertelement <2 x i64> %vec, i64 %0, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x double> @s2v_test_f1(double* nocapture readonly %f64, <2 x double> %vec) { +define <2 x double> @s2v_test_f1(ptr nocapture readonly %f64, <2 x double> %vec) { ; P9LE-LABEL: s2v_test_f1: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 0(r3) @@ -206,13 +206,13 @@ define <2 x double> @s2v_test_f1(double* nocapture readonly %f64, <2 x double> % entry: - %0 = load double, double* %f64, align 8 + %0 = load double, ptr %f64, align 8 %vecins = insertelement <2 x double> %vec, double %0, i32 0 ret <2 x double> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x double> @s2v_test_f2(double* nocapture readonly %f64, <2 x double> %vec) { +define <2 x double> @s2v_test_f2(ptr nocapture readonly %f64, <2 x double> %vec) { ; P9LE-LABEL: s2v_test_f2: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 8(r3) @@ -240,14 +240,14 @@ define <2 x double> @s2v_test_f2(double* nocapture readonly %f64, <2 x double> % entry: - %arrayidx = getelementptr inbounds double, double* %f64, i64 1 - %0 = load double, double* %arrayidx, align 8 + %arrayidx = getelementptr inbounds double, ptr %f64, i64 1 + %0 = load double, ptr %arrayidx, align 8 %vecins = insertelement <2 x double> %vec, double %0, i32 0 ret <2 x double> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x double> @s2v_test_f3(double* nocapture readonly %f64, <2 x double> %vec, i32 signext %Idx) { +define <2 x double> @s2v_test_f3(ptr nocapture readonly %f64, <2 x double> %vec, i32 signext %Idx) { ; P9LE-LABEL: s2v_test_f3: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: sldi r4, r7, 3 @@ -280,14 +280,14 @@ define <2 x double> @s2v_test_f3(double* nocapture readonly %f64, <2 x double> % entry: %idxprom = sext i32 %Idx to i64 - %arrayidx = getelementptr inbounds double, double* %f64, i64 %idxprom - %0 = load double, double* %arrayidx, align 8 + %arrayidx = getelementptr inbounds double, ptr %f64, i64 %idxprom + %0 = load double, ptr %arrayidx, align 8 %vecins = insertelement <2 x double> %vec, double %0, i32 0 ret <2 x double> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x double> @s2v_test_f4(double* nocapture readonly %f64, <2 x double> %vec) { +define <2 x double> @s2v_test_f4(ptr nocapture readonly %f64, <2 x double> %vec) { ; P9LE-LABEL: s2v_test_f4: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 8(r3) @@ -315,14 +315,14 @@ define <2 x double> @s2v_test_f4(double* nocapture readonly %f64, <2 x double> % entry: - %arrayidx = getelementptr inbounds double, double* %f64, i64 1 - %0 = load double, double* %arrayidx, align 8 + %arrayidx = getelementptr inbounds double, ptr %f64, i64 1 + %0 = load double, ptr %arrayidx, align 8 %vecins = insertelement <2 x double> %vec, double %0, i32 0 ret <2 x double> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x double> @s2v_test_f5(<2 x double> %vec, double* nocapture readonly %ptr1) { +define <2 x double> @s2v_test_f5(<2 x double> %vec, ptr nocapture readonly %ptr1) { ; P9LE-LABEL: s2v_test_f5: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfd f0, 0(r5) @@ -350,7 +350,7 @@ define <2 x double> @s2v_test_f5(<2 x double> %vec, double* nocapture readonly % entry: - %0 = load double, double* %ptr1, align 8 + %0 = load double, ptr %ptr1, align 8 %vecins = insertelement <2 x double> %vec, double %0, i32 0 ret <2 x double> %vecins } diff --git a/llvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll b/llvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll index c7c8a44..3f97dfd 100644 --- a/llvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll +++ b/llvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll @@ -8,7 +8,7 @@ ; RUN: llc -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names \ ; RUN: -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P8BE -define void @test_liwzx1(<1 x float>* %A, <1 x float>* %B, <1 x float>* %C) { +define void @test_liwzx1(ptr %A, ptr %B, ptr %C) { ; P9LE-LABEL: test_liwzx1: ; P9LE: # %bb.0: ; P9LE-NEXT: lfs f0, 0(r3) @@ -43,14 +43,14 @@ define void @test_liwzx1(<1 x float>* %A, <1 x float>* %B, <1 x float>* %C) { - %a = load <1 x float>, <1 x float>* %A - %b = load <1 x float>, <1 x float>* %B + %a = load <1 x float>, ptr %A + %b = load <1 x float>, ptr %B %X = fadd <1 x float> %a, %b - store <1 x float> %X, <1 x float>* %C + store <1 x float> %X, ptr %C ret void } -define <1 x float>* @test_liwzx2(<1 x float>* %A, <1 x float>* %B, <1 x float>* %C) { +define ptr @test_liwzx2(ptr %A, ptr %B, ptr %C) { ; P9LE-LABEL: test_liwzx2: ; P9LE: # %bb.0: ; P9LE-NEXT: lfs f0, 0(r3) @@ -91,9 +91,9 @@ define <1 x float>* @test_liwzx2(<1 x float>* %A, <1 x float>* %B, <1 x float>* - %a = load <1 x float>, <1 x float>* %A - %b = load <1 x float>, <1 x float>* %B + %a = load <1 x float>, ptr %A + %b = load <1 x float>, ptr %B %X = fsub <1 x float> %a, %b - store <1 x float> %X, <1 x float>* %C - ret <1 x float>* %C + store <1 x float> %X, ptr %C + ret ptr %C } diff --git a/llvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll b/llvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll index e2291ea..1291190 100644 --- a/llvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll +++ b/llvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll @@ -9,7 +9,7 @@ ; RUN: -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P8BE ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test1(i32* nocapture readonly %int32, <2 x i64> %vec) { +define <2 x i64> @s2v_test1(ptr nocapture readonly %int32, <2 x i64> %vec) { ; P9LE-LABEL: s2v_test1: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfiwax f0, 0, r3 @@ -37,14 +37,14 @@ define <2 x i64> @s2v_test1(i32* nocapture readonly %int32, <2 x i64> %vec) { entry: - %0 = load i32, i32* %int32, align 4 + %0 = load i32, ptr %int32, align 4 %conv = sext i32 %0 to i64 %vecins = insertelement <2 x i64> %vec, i64 %conv, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test2(i32* nocapture readonly %int32, <2 x i64> %vec) { +define <2 x i64> @s2v_test2(ptr nocapture readonly %int32, <2 x i64> %vec) { ; P9LE-LABEL: s2v_test2: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: addi r3, r3, 4 @@ -76,15 +76,15 @@ define <2 x i64> @s2v_test2(i32* nocapture readonly %int32, <2 x i64> %vec) { entry: - %arrayidx = getelementptr inbounds i32, i32* %int32, i64 1 - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %int32, i64 1 + %0 = load i32, ptr %arrayidx, align 4 %conv = sext i32 %0 to i64 %vecins = insertelement <2 x i64> %vec, i64 %conv, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test3(i32* nocapture readonly %int32, <2 x i64> %vec, i32 signext %Idx) { +define <2 x i64> @s2v_test3(ptr nocapture readonly %int32, <2 x i64> %vec, i32 signext %Idx) { ; P9LE-LABEL: s2v_test3: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: sldi r4, r7, 2 @@ -117,15 +117,15 @@ define <2 x i64> @s2v_test3(i32* nocapture readonly %int32, <2 x i64> %vec, i32 entry: %idxprom = sext i32 %Idx to i64 - %arrayidx = getelementptr inbounds i32, i32* %int32, i64 %idxprom - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %int32, i64 %idxprom + %0 = load i32, ptr %arrayidx, align 4 %conv = sext i32 %0 to i64 %vecins = insertelement <2 x i64> %vec, i64 %conv, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test4(i32* nocapture readonly %int32, <2 x i64> %vec) { +define <2 x i64> @s2v_test4(ptr nocapture readonly %int32, <2 x i64> %vec) { ; P9LE-LABEL: s2v_test4: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: addi r3, r3, 4 @@ -157,15 +157,15 @@ define <2 x i64> @s2v_test4(i32* nocapture readonly %int32, <2 x i64> %vec) { entry: - %arrayidx = getelementptr inbounds i32, i32* %int32, i64 1 - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %int32, i64 1 + %0 = load i32, ptr %arrayidx, align 4 %conv = sext i32 %0 to i64 %vecins = insertelement <2 x i64> %vec, i64 %conv, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test5(<2 x i64> %vec, i32* nocapture readonly %ptr1) { +define <2 x i64> @s2v_test5(<2 x i64> %vec, ptr nocapture readonly %ptr1) { ; P9LE-LABEL: s2v_test5: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfiwax f0, 0, r5 @@ -193,14 +193,14 @@ define <2 x i64> @s2v_test5(<2 x i64> %vec, i32* nocapture readonly %ptr1) { entry: - %0 = load i32, i32* %ptr1, align 4 + %0 = load i32, ptr %ptr1, align 4 %conv = sext i32 %0 to i64 %vecins = insertelement <2 x i64> %vec, i64 %conv, i32 0 ret <2 x i64> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test6(i32* nocapture readonly %ptr) { +define <2 x i64> @s2v_test6(ptr nocapture readonly %ptr) { ; P9LE-LABEL: s2v_test6: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfiwax f0, 0, r3 @@ -228,7 +228,7 @@ define <2 x i64> @s2v_test6(i32* nocapture readonly %ptr) { entry: - %0 = load i32, i32* %ptr, align 4 + %0 = load i32, ptr %ptr, align 4 %conv = sext i32 %0 to i64 %splat.splatinsert = insertelement <2 x i64> undef, i64 %conv, i32 0 %splat.splat = shufflevector <2 x i64> %splat.splatinsert, <2 x i64> undef, <2 x i32> zeroinitializer @@ -236,7 +236,7 @@ entry: } ; Function Attrs: norecurse nounwind readonly -define <2 x i64> @s2v_test7(i32* nocapture readonly %ptr) { +define <2 x i64> @s2v_test7(ptr nocapture readonly %ptr) { ; P9LE-LABEL: s2v_test7: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfiwax f0, 0, r3 @@ -264,7 +264,7 @@ define <2 x i64> @s2v_test7(i32* nocapture readonly %ptr) { entry: - %0 = load i32, i32* %ptr, align 4 + %0 = load i32, ptr %ptr, align 4 %conv = sext i32 %0 to i64 %splat.splatinsert = insertelement <2 x i64> undef, i64 %conv, i32 0 %splat.splat = shufflevector <2 x i64> %splat.splatinsert, <2 x i64> undef, <2 x i32> zeroinitializer diff --git a/llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll b/llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll index 6a7d36e..d74dc81 100644 --- a/llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll +++ b/llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll @@ -22,7 +22,7 @@ ; RUN: --check-prefixes=AIX,P8-AIX-32 ; Function Attrs: norecurse nounwind readonly -define <4 x i32> @s2v_test1(i32* nocapture readonly %int32, <4 x i32> %vec) { +define <4 x i32> @s2v_test1(ptr nocapture readonly %int32, <4 x i32> %vec) { ; P9LE-LABEL: s2v_test1: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lwz r3, 0(r3) @@ -82,13 +82,13 @@ define <4 x i32> @s2v_test1(i32* nocapture readonly %int32, <4 x i32> %vec) { ; P8-AIX-32-NEXT: vperm v2, v4, v2, v3 ; P8-AIX-32-NEXT: blr entry: - %0 = load i32, i32* %int32, align 4 + %0 = load i32, ptr %int32, align 4 %vecins = insertelement <4 x i32> %vec, i32 %0, i32 0 ret <4 x i32> %vecins } ; Function Attrs: norecurse nounwind readonly -define <4 x i32> @s2v_test2(i32* nocapture readonly %int32, <4 x i32> %vec) { +define <4 x i32> @s2v_test2(ptr nocapture readonly %int32, <4 x i32> %vec) { ; P9LE-LABEL: s2v_test2: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lwz r3, 4(r3) @@ -151,14 +151,14 @@ define <4 x i32> @s2v_test2(i32* nocapture readonly %int32, <4 x i32> %vec) { ; P8-AIX-32-NEXT: vperm v2, v4, v2, v3 ; P8-AIX-32-NEXT: blr entry: - %arrayidx = getelementptr inbounds i32, i32* %int32, i64 1 - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %int32, i64 1 + %0 = load i32, ptr %arrayidx, align 4 %vecins = insertelement <4 x i32> %vec, i32 %0, i32 0 ret <4 x i32> %vecins } ; Function Attrs: norecurse nounwind readonly -define <4 x i32> @s2v_test3(i32* nocapture readonly %int32, <4 x i32> %vec, i32 signext %Idx) { +define <4 x i32> @s2v_test3(ptr nocapture readonly %int32, <4 x i32> %vec, i32 signext %Idx) { ; P9LE-LABEL: s2v_test3: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: sldi r4, r7, 2 @@ -234,14 +234,14 @@ define <4 x i32> @s2v_test3(i32* nocapture readonly %int32, <4 x i32> %vec, i32 ; P8-AIX-32-NEXT: blr entry: %idxprom = sext i32 %Idx to i64 - %arrayidx = getelementptr inbounds i32, i32* %int32, i64 %idxprom - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %int32, i64 %idxprom + %0 = load i32, ptr %arrayidx, align 4 %vecins = insertelement <4 x i32> %vec, i32 %0, i32 0 ret <4 x i32> %vecins } ; Function Attrs: norecurse nounwind readonly -define <4 x i32> @s2v_test4(i32* nocapture readonly %int32, <4 x i32> %vec) { +define <4 x i32> @s2v_test4(ptr nocapture readonly %int32, <4 x i32> %vec) { ; P9LE-LABEL: s2v_test4: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lwz r3, 4(r3) @@ -304,14 +304,14 @@ define <4 x i32> @s2v_test4(i32* nocapture readonly %int32, <4 x i32> %vec) { ; P8-AIX-32-NEXT: vperm v2, v4, v2, v3 ; P8-AIX-32-NEXT: blr entry: - %arrayidx = getelementptr inbounds i32, i32* %int32, i64 1 - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %int32, i64 1 + %0 = load i32, ptr %arrayidx, align 4 %vecins = insertelement <4 x i32> %vec, i32 %0, i32 0 ret <4 x i32> %vecins } ; Function Attrs: norecurse nounwind readonly -define <4 x i32> @s2v_test5(<4 x i32> %vec, i32* nocapture readonly %ptr1) { +define <4 x i32> @s2v_test5(<4 x i32> %vec, ptr nocapture readonly %ptr1) { ; P9LE-LABEL: s2v_test5: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lwz r3, 0(r5) @@ -371,13 +371,13 @@ define <4 x i32> @s2v_test5(<4 x i32> %vec, i32* nocapture readonly %ptr1) { ; P8-AIX-32-NEXT: vperm v2, v4, v2, v3 ; P8-AIX-32-NEXT: blr entry: - %0 = load i32, i32* %ptr1, align 4 + %0 = load i32, ptr %ptr1, align 4 %vecins = insertelement <4 x i32> %vec, i32 %0, i32 0 ret <4 x i32> %vecins } ; Function Attrs: norecurse nounwind readonly -define <4 x float> @s2v_test_f1(float* nocapture readonly %f64, <4 x float> %vec) { +define <4 x float> @s2v_test_f1(ptr nocapture readonly %f64, <4 x float> %vec) { ; P9LE-LABEL: s2v_test_f1: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lwz r3, 0(r3) @@ -434,13 +434,13 @@ define <4 x float> @s2v_test_f1(float* nocapture readonly %f64, <4 x float> %vec ; P8-AIX-32-NEXT: vperm v2, v3, v2, v4 ; P8-AIX-32-NEXT: blr entry: - %0 = load float, float* %f64, align 4 + %0 = load float, ptr %f64, align 4 %vecins = insertelement <4 x float> %vec, float %0, i32 0 ret <4 x float> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x float> @s2v_test_f2(float* nocapture readonly %f64, <2 x float> %vec) { +define <2 x float> @s2v_test_f2(ptr nocapture readonly %f64, <2 x float> %vec) { ; P9LE-LABEL: s2v_test_f2: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: addi r3, r3, 4 @@ -478,14 +478,14 @@ define <2 x float> @s2v_test_f2(float* nocapture readonly %f64, <2 x float> %vec ; AIX-NEXT: vmrgow v2, v3, v2 ; AIX-NEXT: blr entry: - %arrayidx = getelementptr inbounds float, float* %f64, i64 1 - %0 = load float, float* %arrayidx, align 8 + %arrayidx = getelementptr inbounds float, ptr %f64, i64 1 + %0 = load float, ptr %arrayidx, align 8 %vecins = insertelement <2 x float> %vec, float %0, i32 0 ret <2 x float> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x float> @s2v_test_f3(float* nocapture readonly %f64, <2 x float> %vec, i32 signext %Idx) { +define <2 x float> @s2v_test_f3(ptr nocapture readonly %f64, <2 x float> %vec, i32 signext %Idx) { ; P9LE-LABEL: s2v_test_f3: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: sldi r4, r7, 2 @@ -545,14 +545,14 @@ define <2 x float> @s2v_test_f3(float* nocapture readonly %f64, <2 x float> %vec ; P8-AIX-32-NEXT: blr entry: %idxprom = sext i32 %Idx to i64 - %arrayidx = getelementptr inbounds float, float* %f64, i64 %idxprom - %0 = load float, float* %arrayidx, align 8 + %arrayidx = getelementptr inbounds float, ptr %f64, i64 %idxprom + %0 = load float, ptr %arrayidx, align 8 %vecins = insertelement <2 x float> %vec, float %0, i32 0 ret <2 x float> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x float> @s2v_test_f4(float* nocapture readonly %f64, <2 x float> %vec) { +define <2 x float> @s2v_test_f4(ptr nocapture readonly %f64, <2 x float> %vec) { ; P9LE-LABEL: s2v_test_f4: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: addi r3, r3, 4 @@ -590,14 +590,14 @@ define <2 x float> @s2v_test_f4(float* nocapture readonly %f64, <2 x float> %vec ; AIX-NEXT: vmrgow v2, v3, v2 ; AIX-NEXT: blr entry: - %arrayidx = getelementptr inbounds float, float* %f64, i64 1 - %0 = load float, float* %arrayidx, align 8 + %arrayidx = getelementptr inbounds float, ptr %f64, i64 1 + %0 = load float, ptr %arrayidx, align 8 %vecins = insertelement <2 x float> %vec, float %0, i32 0 ret <2 x float> %vecins } ; Function Attrs: norecurse nounwind readonly -define <2 x float> @s2v_test_f5(<2 x float> %vec, float* nocapture readonly %ptr1) { +define <2 x float> @s2v_test_f5(<2 x float> %vec, ptr nocapture readonly %ptr1) { ; P9LE-LABEL: s2v_test_f5: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lfiwzx f0, 0, r5 @@ -630,7 +630,7 @@ define <2 x float> @s2v_test_f5(<2 x float> %vec, float* nocapture readonly %ptr ; AIX-NEXT: vmrgow v2, v3, v2 ; AIX-NEXT: blr entry: - %0 = load float, float* %ptr1, align 8 + %0 = load float, ptr %ptr1, align 8 %vecins = insertelement <2 x float> %vec, float %0, i32 0 ret <2 x float> %vecins } diff --git a/llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll b/llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll index 0195005..c1059be 100644 --- a/llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll +++ b/llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll @@ -8,7 +8,7 @@ ; RUN: llc -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names \ ; RUN: -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s --check-prefix=P8BE -define i8 @scalar_to_vector_half(i16* nocapture readonly %ad) { +define i8 @scalar_to_vector_half(ptr nocapture readonly %ad) { ; P9LE-LABEL: scalar_to_vector_half: ; P9LE: # %bb.0: # %entry ; P9LE-NEXT: lhz r3, 0(r3) @@ -36,9 +36,8 @@ define i8 @scalar_to_vector_half(i16* nocapture readonly %ad) { ; P8BE-NEXT: rldicl r3, r3, 8, 56 ; P8BE-NEXT: blr entry: - %0 = bitcast i16* %ad to <2 x i8>* - %1 = load <2 x i8>, <2 x i8>* %0, align 1 - %2 = extractelement <2 x i8> %1, i32 0 - ret i8 %2 + %0 = load <2 x i8>, ptr %ad, align 1 + %1 = extractelement <2 x i8> %0, i32 0 + ret i8 %1 } diff --git a/llvm/test/CodeGen/PowerPC/scalars-in-altivec-regs.ll b/llvm/test/CodeGen/PowerPC/scalars-in-altivec-regs.ll index f1ace9d..06164b7 100644 --- a/llvm/test/CodeGen/PowerPC/scalars-in-altivec-regs.ll +++ b/llvm/test/CodeGen/PowerPC/scalars-in-altivec-regs.ll @@ -8,7 +8,7 @@ ; RUN: llc -mtriple=powerpc64le-- -verify-machineinstrs \ ; RUN: -ppc-asm-full-reg-names -mcpu=pwr8 < %s | FileCheck --check-prefix=LE %s -define dso_local void @test1(<2 x double>* %v, i64 %a) local_unnamed_addr #0 { +define dso_local void @test1(ptr %v, i64 %a) local_unnamed_addr #0 { ; AIX64-LABEL: test1: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: mtvsrd vs34, r4 @@ -36,11 +36,11 @@ define dso_local void @test1(<2 x double>* %v, i64 %a) local_unnamed_addr #0 { ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i64 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i64 %a, ptr %v) ret void } -define dso_local void @test2(<2 x double>* %v, i32 signext %a) local_unnamed_addr #0 { +define dso_local void @test2(ptr %v, i32 signext %a) local_unnamed_addr #0 { ; AIX64-LABEL: test2: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: clrldi r4, r4, 32 @@ -71,11 +71,11 @@ define dso_local void @test2(<2 x double>* %v, i32 signext %a) local_unnamed_add ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i32 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i32 %a, ptr %v) ret void } -define dso_local void @test3(<2 x double>* %v, i16 signext %a) local_unnamed_addr #0 { +define dso_local void @test3(ptr %v, i16 signext %a) local_unnamed_addr #0 { ; AIX64-LABEL: test3: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: clrldi r4, r4, 48 @@ -107,11 +107,11 @@ define dso_local void @test3(<2 x double>* %v, i16 signext %a) local_unnamed_add ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i16 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i16 %a, ptr %v) ret void } -define dso_local void @test4(<2 x double>* %v, i8 signext %a) local_unnamed_addr #0 { +define dso_local void @test4(ptr %v, i8 signext %a) local_unnamed_addr #0 { ; AIX64-LABEL: test4: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: clrldi r4, r4, 56 @@ -143,11 +143,11 @@ define dso_local void @test4(<2 x double>* %v, i8 signext %a) local_unnamed_addr ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i8 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i8 %a, ptr %v) ret void } -define dso_local void @test6(<2 x double>* %v, i32 zeroext %a) local_unnamed_addr #0 { +define dso_local void @test6(ptr %v, i32 zeroext %a) local_unnamed_addr #0 { ; AIX64-LABEL: test6: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: mtvsrd vs34, r4 @@ -176,11 +176,11 @@ define dso_local void @test6(<2 x double>* %v, i32 zeroext %a) local_unnamed_add ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i32 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i32 %a, ptr %v) ret void } -define dso_local void @test7(<2 x double>* %v, i16 zeroext %a) local_unnamed_addr #0 { +define dso_local void @test7(ptr %v, i16 zeroext %a) local_unnamed_addr #0 { ; AIX64-LABEL: test7: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: mtvsrd vs34, r4 @@ -209,11 +209,11 @@ define dso_local void @test7(<2 x double>* %v, i16 zeroext %a) local_unnamed_add ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i16 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i16 %a, ptr %v) ret void } -define dso_local void @test8(<2 x double>* %v, i8 zeroext %a) local_unnamed_addr #0 { +define dso_local void @test8(ptr %v, i8 zeroext %a) local_unnamed_addr #0 { ; AIX64-LABEL: test8: ; AIX64: # %bb.0: # %entry ; AIX64-NEXT: mtvsrd vs34, r4 @@ -242,7 +242,7 @@ define dso_local void @test8(<2 x double>* %v, i8 zeroext %a) local_unnamed_addr ; LE-NEXT: #NO_APP ; LE-NEXT: blr entry: - tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i8 %a, <2 x double>* %v) + tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i8 %a, ptr %v) ret void } diff --git a/llvm/test/CodeGen/PowerPC/sched-addi.ll b/llvm/test/CodeGen/PowerPC/sched-addi.ll index e3591b7..ce6679a 100644 --- a/llvm/test/CodeGen/PowerPC/sched-addi.ll +++ b/llvm/test/CodeGen/PowerPC/sched-addi.ll @@ -9,7 +9,7 @@ @scalars = common dso_local local_unnamed_addr global %_type_of_scalars zeroinitializer, align 16 -define dso_local void @test([0 x %_elem_type_of_x]* noalias %.x, [0 x %_elem_type_of_a]* %.a, i64* noalias %.n) { +define dso_local void @test(ptr noalias %.x, ptr %.a, ptr noalias %.n) { ; CHECK-P9-LABEL: test: ; CHECK-P9: # %bb.0: # %entry ; CHECK-P9-NEXT: ld 5, 0(5) @@ -88,10 +88,10 @@ define dso_local void @test([0 x %_elem_type_of_x]* noalias %.x, [0 x %_elem_typ ; CHECK-P9-NO-HEURISTIC-NEXT: # %bb.2: # %return.block ; CHECK-P9-NO-HEURISTIC-NEXT: blr entry: - %x_rvo_based_addr_3 = getelementptr inbounds [0 x %_elem_type_of_x], [0 x %_elem_type_of_x]* %.x, i64 0, i64 -1 - %a_rvo_based_addr_5 = getelementptr inbounds [0 x %_elem_type_of_a], [0 x %_elem_type_of_a]* %.a, i64 0, i64 -1 - %_val_n_ = load i64, i64* %.n, align 8 - %_val_c1_ = load double, double* getelementptr inbounds (%_type_of_scalars, %_type_of_scalars* @scalars, i64 0, i32 1), align 16 + %x_rvo_based_addr_3 = getelementptr inbounds [0 x %_elem_type_of_x], ptr %.x, i64 0, i64 -1 + %a_rvo_based_addr_5 = getelementptr inbounds [0 x %_elem_type_of_a], ptr %.a, i64 0, i64 -1 + %_val_n_ = load i64, ptr %.n, align 8 + %_val_c1_ = load double, ptr getelementptr inbounds (%_type_of_scalars, ptr @scalars, i64 0, i32 1), align 16 %n.vec = and i64 %_val_n_, -32 %broadcast.splatinsert26 = insertelement <4 x double> undef, double %_val_c1_, i32 0 %broadcast.splat27 = shufflevector <4 x double> %broadcast.splatinsert26, <4 x double> undef, <4 x i32> zeroinitializer @@ -100,57 +100,41 @@ entry: vector.body: %index = phi i64 [ 0, %entry ], [ %index.next, %vector.body ] %offset.idx = or i64 %index, 1 - %0 = getelementptr %_elem_type_of_x, %_elem_type_of_x* %x_rvo_based_addr_3, i64 %offset.idx, i32 0 - %1 = getelementptr %_elem_type_of_a, %_elem_type_of_a* %a_rvo_based_addr_5, i64 %offset.idx, i32 0 - %2 = bitcast double* %1 to <4 x double>* - %wide.load = load <4 x double>, <4 x double>* %2, align 8 - %3 = getelementptr double, double* %1, i64 4 - %4 = bitcast double* %3 to <4 x double>* - %wide.load19 = load <4 x double>, <4 x double>* %4, align 8 - %5 = getelementptr double, double* %1, i64 8 - %6 = bitcast double* %5 to <4 x double>* - %wide.load20 = load <4 x double>, <4 x double>* %6, align 8 - %7 = getelementptr double, double* %1, i64 12 - %8 = bitcast double* %7 to <4 x double>* - %wide.load21 = load <4 x double>, <4 x double>* %8, align 8 - %9 = getelementptr double, double* %1, i64 16 - %10 = bitcast double* %9 to <4 x double>* - %wide.load22 = load <4 x double>, <4 x double>* %10, align 8 - %11 = getelementptr double, double* %1, i64 20 - %12 = bitcast double* %11 to <4 x double>* - %wide.load23 = load <4 x double>, <4 x double>* %12, align 8 - %13 = getelementptr double, double* %1, i64 24 - %14 = bitcast double* %13 to <4 x double>* - %wide.load24 = load <4 x double>, <4 x double>* %14, align 8 - %15 = getelementptr double, double* %1, i64 28 - %16 = bitcast double* %15 to <4 x double>* - %wide.load25 = load <4 x double>, <4 x double>* %16, align 8 - %17 = fmul fast <4 x double> %wide.load, %broadcast.splat27 - %18 = fmul fast <4 x double> %wide.load19, %broadcast.splat27 - %19 = fmul fast <4 x double> %wide.load20, %broadcast.splat27 - %20 = fmul fast <4 x double> %wide.load21, %broadcast.splat27 - %21 = fmul fast <4 x double> %wide.load22, %broadcast.splat27 - %22 = fmul fast <4 x double> %wide.load23, %broadcast.splat27 - %23 = fmul fast <4 x double> %wide.load24, %broadcast.splat27 - %24 = fmul fast <4 x double> %wide.load25, %broadcast.splat27 - %25 = bitcast double* %0 to <4 x double>* - store <4 x double> %17, <4 x double>* %25, align 8 - %26 = getelementptr double, double* %0, i64 4 - %27 = bitcast double* %26 to <4 x double>* - store <4 x double> %18, <4 x double>* %27, align 8 - %28 = getelementptr double, double* %0, i64 8 - %29 = bitcast double* %28 to <4 x double>* - %30 = getelementptr double, double* %0, i64 12 - %31 = bitcast double* %30 to <4 x double>* - %32 = getelementptr double, double* %0, i64 16 - %33 = bitcast double* %32 to <4 x double>* - %34 = getelementptr double, double* %0, i64 20 - %35 = bitcast double* %34 to <4 x double>* - %36 = getelementptr double, double* %0, i64 24 - %37 = bitcast double* %36 to <4 x double>* - %38 = getelementptr double, double* %0, i64 28 - %39 = bitcast double* %38 to <4 x double>* - store <4 x double> %24, <4 x double>* %39, align 8 + %0 = getelementptr %_elem_type_of_x, ptr %x_rvo_based_addr_3, i64 %offset.idx, i32 0 + %1 = getelementptr %_elem_type_of_a, ptr %a_rvo_based_addr_5, i64 %offset.idx, i32 0 + %wide.load = load <4 x double>, ptr %1, align 8 + %2 = getelementptr double, ptr %1, i64 4 + %wide.load19 = load <4 x double>, ptr %2, align 8 + %3 = getelementptr double, ptr %1, i64 8 + %wide.load20 = load <4 x double>, ptr %3, align 8 + %4 = getelementptr double, ptr %1, i64 12 + %wide.load21 = load <4 x double>, ptr %4, align 8 + %5 = getelementptr double, ptr %1, i64 16 + %wide.load22 = load <4 x double>, ptr %5, align 8 + %6 = getelementptr double, ptr %1, i64 20 + %wide.load23 = load <4 x double>, ptr %6, align 8 + %7 = getelementptr double, ptr %1, i64 24 + %wide.load24 = load <4 x double>, ptr %7, align 8 + %8 = getelementptr double, ptr %1, i64 28 + %wide.load25 = load <4 x double>, ptr %8, align 8 + %9 = fmul fast <4 x double> %wide.load, %broadcast.splat27 + %10 = fmul fast <4 x double> %wide.load19, %broadcast.splat27 + %11 = fmul fast <4 x double> %wide.load20, %broadcast.splat27 + %12 = fmul fast <4 x double> %wide.load21, %broadcast.splat27 + %13 = fmul fast <4 x double> %wide.load22, %broadcast.splat27 + %14 = fmul fast <4 x double> %wide.load23, %broadcast.splat27 + %15 = fmul fast <4 x double> %wide.load24, %broadcast.splat27 + %16 = fmul fast <4 x double> %wide.load25, %broadcast.splat27 + store <4 x double> %9, ptr %0, align 8 + %17 = getelementptr double, ptr %0, i64 4 + store <4 x double> %10, ptr %17, align 8 + %18 = getelementptr double, ptr %0, i64 8 + %19 = getelementptr double, ptr %0, i64 12 + %20 = getelementptr double, ptr %0, i64 16 + %21 = getelementptr double, ptr %0, i64 20 + %22 = getelementptr double, ptr %0, i64 24 + %23 = getelementptr double, ptr %0, i64 28 + store <4 x double> %16, ptr %23, align 8 %index.next = add i64 %index, 32 %cm = icmp eq i64 %index.next, %n.vec br i1 %cm, label %return.block, label %vector.body diff --git a/llvm/test/CodeGen/PowerPC/scheduling-mem-dependency.ll b/llvm/test/CodeGen/PowerPC/scheduling-mem-dependency.ll index 4c6f920..4e34035 100644 --- a/llvm/test/CodeGen/PowerPC/scheduling-mem-dependency.ll +++ b/llvm/test/CodeGen/PowerPC/scheduling-mem-dependency.ll @@ -2,7 +2,7 @@ ; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -verify-misched -debug-only=machine-scheduler -o - 2>&1 > /dev/null | FileCheck %s ; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 -verify-misched -debug-only=machine-scheduler -o - 2>&1 > /dev/null | FileCheck %s --check-prefix=CHECK-P9 -define i64 @store_disjoint_memory(i64* nocapture %P, i64 %v) { +define i64 @store_disjoint_memory(ptr nocapture %P, i64 %v) { entry: ; CHECK: ********** MI Scheduling ********** ; CHECK-LABEL: store_disjoint_memory:%bb.0 @@ -12,10 +12,10 @@ entry: ; CHECK:SU([[REG3:[0-9]+]]): STD renamable $x{{[0-9]+}}, 16, renamable $x[[REG5]] ; CHECK: Predecessors: ; CHECK-NOT: SU([[REG2]]): Ord Latency=0 Memory - %arrayidx = getelementptr inbounds i64, i64* %P, i64 3 - store i64 %v, i64* %arrayidx - %arrayidx1 = getelementptr inbounds i64, i64* %P, i64 2 - store i64 %v, i64* %arrayidx1 + %arrayidx = getelementptr inbounds i64, ptr %P, i64 3 + store i64 %v, ptr %arrayidx + %arrayidx1 = getelementptr inbounds i64, ptr %P, i64 2 + store i64 %v, ptr %arrayidx1 ret i64 %v } @@ -25,11 +25,11 @@ entry: define double @test_lxsd_no_barrier(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, double %j, double %k, double %l, double %m) { entry: - %0 = load double, double* getelementptr inbounds ([500 x double], [500 x double]* @gd, i64 0, i64 10), align 8 - %1 = load double, double* getelementptr inbounds ([500 x double], [500 x double]* @gd, i64 0, i64 17), align 8 - %2 = load double, double* getelementptr inbounds ([500 x double], [500 x double]* @gd, i64 0, i64 87), align 8 - %3 = load double, double* getelementptr inbounds ([500 x double], [500 x double]* @gd, i64 0, i64 97), align 8 - %4 = load double, double* getelementptr inbounds ([500 x double], [500 x double]* @gd, i64 0, i64 77), align 8 + %0 = load double, ptr getelementptr inbounds ([500 x double], ptr @gd, i64 0, i64 10), align 8 + %1 = load double, ptr getelementptr inbounds ([500 x double], ptr @gd, i64 0, i64 17), align 8 + %2 = load double, ptr getelementptr inbounds ([500 x double], ptr @gd, i64 0, i64 87), align 8 + %3 = load double, ptr getelementptr inbounds ([500 x double], ptr @gd, i64 0, i64 97), align 8 + %4 = load double, ptr getelementptr inbounds ([500 x double], ptr @gd, i64 0, i64 77), align 8 %add = fadd double %a, %b %add1 = fadd double %add, %c %add2 = fadd double %add1, %d diff --git a/llvm/test/CodeGen/PowerPC/sdag-ppcf128.ll b/llvm/test/CodeGen/PowerPC/sdag-ppcf128.ll index 9b41eba..856b120 100644 --- a/llvm/test/CodeGen/PowerPC/sdag-ppcf128.ll +++ b/llvm/test/CodeGen/PowerPC/sdag-ppcf128.ll @@ -7,7 +7,7 @@ entry: br i1 undef, label %if, label %else ; CHECK: cmplwi 3, 0 if: ; preds = %entry - store { ppc_fp128, ppc_fp128 } zeroinitializer, { ppc_fp128, ppc_fp128 }* undef + store { ppc_fp128, ppc_fp128 } zeroinitializer, ptr undef ret void else: ; preds = %entry diff --git a/llvm/test/CodeGen/PowerPC/select-addrRegRegOnly.ll b/llvm/test/CodeGen/PowerPC/select-addrRegRegOnly.ll index 29b11df..2cfc302 100644 --- a/llvm/test/CodeGen/PowerPC/select-addrRegRegOnly.ll +++ b/llvm/test/CodeGen/PowerPC/select-addrRegRegOnly.ll @@ -2,7 +2,7 @@ ; RUN: llc -mcpu=pwr8 -mtriple=powerpc64-unknown-unknown -verify-machineinstrs < %s | FileCheck %s ; Function Attrs: norecurse nounwind readonly -define float @testSingleAccess(i32* nocapture readonly %arr) local_unnamed_addr #0 { +define float @testSingleAccess(ptr nocapture readonly %arr) local_unnamed_addr #0 { ; CHECK-LABEL: testSingleAccess: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: addi 3, 3, 8 @@ -10,14 +10,14 @@ define float @testSingleAccess(i32* nocapture readonly %arr) local_unnamed_addr ; CHECK-NEXT: xscvsxdsp 1, 0 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds i32, i32* %arr, i64 2 - %0 = load i32, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %arr, i64 2 + %0 = load i32, ptr %arrayidx, align 4 %conv = sitofp i32 %0 to float ret float %conv } ; Function Attrs: norecurse nounwind readonly -define float @testMultipleAccess(i32* nocapture readonly %arr) local_unnamed_addr #0 { +define float @testMultipleAccess(ptr nocapture readonly %arr) local_unnamed_addr #0 { ; CHECK-LABEL: testMultipleAccess: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz 4, 8(3) @@ -27,10 +27,10 @@ define float @testMultipleAccess(i32* nocapture readonly %arr) local_unnamed_add ; CHECK-NEXT: xscvsxdsp 1, 0 ; CHECK-NEXT: blr entry: - %arrayidx = getelementptr inbounds i32, i32* %arr, i64 2 - %0 = load i32, i32* %arrayidx, align 4 - %arrayidx1 = getelementptr inbounds i32, i32* %arr, i64 3 - %1 = load i32, i32* %arrayidx1, align 4 + %arrayidx = getelementptr inbounds i32, ptr %arr, i64 2 + %0 = load i32, ptr %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds i32, ptr %arr, i64 3 + %1 = load i32, ptr %arrayidx1, align 4 %add = add nsw i32 %1, %0 %conv = sitofp i32 %add to float ret float %conv diff --git a/llvm/test/CodeGen/PowerPC/selectiondag-extload-computeknownbits.ll b/llvm/test/CodeGen/PowerPC/selectiondag-extload-computeknownbits.ll index 73fce78..496a374c 100644 --- a/llvm/test/CodeGen/PowerPC/selectiondag-extload-computeknownbits.ll +++ b/llvm/test/CodeGen/PowerPC/selectiondag-extload-computeknownbits.ll @@ -2,9 +2,9 @@ ; Check that llc does not crash due to an illegal APInt operation -define i1 @f(i8* %ptr) { +define i1 @f(ptr %ptr) { entry: - %val = load i8, i8* %ptr, align 8, !range !0 + %val = load i8, ptr %ptr, align 8, !range !0 %tobool = icmp eq i8 %val, 0 ret i1 %tobool } diff --git a/llvm/test/CodeGen/PowerPC/selectiondag-sextload.ll b/llvm/test/CodeGen/PowerPC/selectiondag-sextload.ll index de33faf..1aec047 100644 --- a/llvm/test/CodeGen/PowerPC/selectiondag-sextload.ll +++ b/llvm/test/CodeGen/PowerPC/selectiondag-sextload.ll @@ -5,12 +5,12 @@ declare void @g(i32 signext) -define void @foo(i8* %p) { +define void @foo(ptr %p) { entry: br label %while.body while.body: - %0 = load i8, i8* %p, align 1 + %0 = load i8, ptr %p, align 1 %conv = zext i8 %0 to i32 %cmp = icmp sgt i8 %0, 0 br i1 %cmp, label %if.then, label %while.body diff --git a/llvm/test/CodeGen/PowerPC/setcc-logic.ll b/llvm/test/CodeGen/PowerPC/setcc-logic.ll index 723653c..7dca471 100644 --- a/llvm/test/CodeGen/PowerPC/setcc-logic.ll +++ b/llvm/test/CodeGen/PowerPC/setcc-logic.ll @@ -110,7 +110,7 @@ define zeroext i1 @any_sign_bits_clear(i32 %P, i32 %Q) { } ; PR3351 - (P == 0) & (Q == 0) -> (P|Q) == 0 -define i32 @all_bits_clear_branch(i32* %P, i32* %Q) { +define i32 @all_bits_clear_branch(ptr %P, ptr %Q) { ; CHECK-LABEL: all_bits_clear_branch: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: or. 3, 3, 4 @@ -122,8 +122,8 @@ define i32 @all_bits_clear_branch(i32* %P, i32* %Q) { ; CHECK-NEXT: li 3, 192 ; CHECK-NEXT: blr entry: - %a = icmp eq i32* %P, null - %b = icmp eq i32* %Q, null + %a = icmp eq ptr %P, null + %b = icmp eq ptr %Q, null %c = and i1 %a, %b br i1 %c, label %bb1, label %return @@ -210,7 +210,7 @@ return: } ; PR3351 - (P != 0) | (Q != 0) -> (P|Q) != 0 -define i32 @any_bits_set_branch(i32* %P, i32* %Q) { +define i32 @any_bits_set_branch(ptr %P, ptr %Q) { ; CHECK-LABEL: any_bits_set_branch: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: or. 3, 3, 4 @@ -222,8 +222,8 @@ define i32 @any_bits_set_branch(i32* %P, i32* %Q) { ; CHECK-NEXT: li 3, 192 ; CHECK-NEXT: blr entry: - %a = icmp ne i32* %P, null - %b = icmp ne i32* %Q, null + %a = icmp ne ptr %P, null + %b = icmp ne ptr %Q, null %c = or i1 %a, %b br i1 %c, label %bb1, label %return diff --git a/llvm/test/CodeGen/PowerPC/setcc-to-sub.ll b/llvm/test/CodeGen/PowerPC/setcc-to-sub.ll index 1d8c92f..13c629b 100644 --- a/llvm/test/CodeGen/PowerPC/setcc-to-sub.ll +++ b/llvm/test/CodeGen/PowerPC/setcc-to-sub.ll @@ -4,11 +4,11 @@ ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr8 \ ; RUN: < %s -vec-extabi | FileCheck %s -%class.PB2 = type { [1 x i32], %class.PB1* } +%class.PB2 = type { [1 x i32], ptr } %class.PB1 = type { [1 x i32], i64, i64, i32 } ; Function Attrs: norecurse nounwind readonly -define zeroext i1 @test1(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr #0 { +define zeroext i1 @test1(ptr %s_a, ptr %s_b) local_unnamed_addr #0 { ; CHECK-LABEL: test1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz 3, 0(3) @@ -19,18 +19,16 @@ define zeroext i1 @test1(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr ; CHECK-NEXT: rldicl 3, 3, 1, 63 ; CHECK-NEXT: blr entry: - %arrayidx.i6 = bitcast %class.PB2* %s_a to i32* - %0 = load i32, i32* %arrayidx.i6, align 8, !tbaa !1 + %0 = load i32, ptr %s_a, align 8, !tbaa !1 %and.i = and i32 %0, 8 - %arrayidx.i37 = bitcast %class.PB2* %s_b to i32* - %1 = load i32, i32* %arrayidx.i37, align 8, !tbaa !1 + %1 = load i32, ptr %s_b, align 8, !tbaa !1 %and.i4 = and i32 %1, 8 %cmp.i5 = icmp ult i32 %and.i, %and.i4 ret i1 %cmp.i5 } ; Function Attrs: norecurse nounwind readonly -define zeroext i1 @test2(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr #0 { +define zeroext i1 @test2(ptr %s_a, ptr %s_b) local_unnamed_addr #0 { ; CHECK-LABEL: test2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz 3, 0(3) @@ -42,18 +40,16 @@ define zeroext i1 @test2(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr ; CHECK-NEXT: rldicl 3, 3, 1, 63 ; CHECK-NEXT: blr entry: - %arrayidx.i6 = bitcast %class.PB2* %s_a to i32* - %0 = load i32, i32* %arrayidx.i6, align 8, !tbaa !1 + %0 = load i32, ptr %s_a, align 8, !tbaa !1 %and.i = and i32 %0, 8 - %arrayidx.i37 = bitcast %class.PB2* %s_b to i32* - %1 = load i32, i32* %arrayidx.i37, align 8, !tbaa !1 + %1 = load i32, ptr %s_b, align 8, !tbaa !1 %and.i4 = and i32 %1, 8 %cmp.i5 = icmp ule i32 %and.i, %and.i4 ret i1 %cmp.i5 } ; Function Attrs: norecurse nounwind readonly -define zeroext i1 @test3(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr #0 { +define zeroext i1 @test3(ptr %s_a, ptr %s_b) local_unnamed_addr #0 { ; CHECK-LABEL: test3: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz 3, 0(3) @@ -64,18 +60,16 @@ define zeroext i1 @test3(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr ; CHECK-NEXT: rldicl 3, 3, 1, 63 ; CHECK-NEXT: blr entry: - %arrayidx.i6 = bitcast %class.PB2* %s_a to i32* - %0 = load i32, i32* %arrayidx.i6, align 8, !tbaa !1 + %0 = load i32, ptr %s_a, align 8, !tbaa !1 %and.i = and i32 %0, 8 - %arrayidx.i37 = bitcast %class.PB2* %s_b to i32* - %1 = load i32, i32* %arrayidx.i37, align 8, !tbaa !1 + %1 = load i32, ptr %s_b, align 8, !tbaa !1 %and.i4 = and i32 %1, 8 %cmp.i5 = icmp ugt i32 %and.i, %and.i4 ret i1 %cmp.i5 } ; Function Attrs: norecurse nounwind readonly -define zeroext i1 @test4(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr #0 { +define zeroext i1 @test4(ptr %s_a, ptr %s_b) local_unnamed_addr #0 { ; CHECK-LABEL: test4: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lwz 3, 0(3) @@ -87,11 +81,9 @@ define zeroext i1 @test4(%class.PB2* %s_a, %class.PB2* %s_b) local_unnamed_addr ; CHECK-NEXT: rldicl 3, 3, 1, 63 ; CHECK-NEXT: blr entry: - %arrayidx.i6 = bitcast %class.PB2* %s_a to i32* - %0 = load i32, i32* %arrayidx.i6, align 8, !tbaa !1 + %0 = load i32, ptr %s_a, align 8, !tbaa !1 %and.i = and i32 %0, 8 - %arrayidx.i37 = bitcast %class.PB2* %s_b to i32* - %1 = load i32, i32* %arrayidx.i37, align 8, !tbaa !1 + %1 = load i32, ptr %s_b, align 8, !tbaa !1 %and.i4 = and i32 %1, 8 %cmp.i5 = icmp uge i32 %and.i, %and.i4 ret i1 %cmp.i5 diff --git a/llvm/test/CodeGen/PowerPC/setcc_no_zext.ll b/llvm/test/CodeGen/PowerPC/setcc_no_zext.ll index 14d6407..cc3b7ce 100644 --- a/llvm/test/CodeGen/PowerPC/setcc_no_zext.ll +++ b/llvm/test/CodeGen/PowerPC/setcc_no_zext.ll @@ -4,9 +4,9 @@ ; default at the default CodeOpt level. ; XFAIL: * -define i32 @setcc_one_or_zero(i32* %a) { +define i32 @setcc_one_or_zero(ptr %a) { entry: - %tmp.1 = icmp ne i32* %a, null ; [#uses=1] + %tmp.1 = icmp ne ptr %a, null ; [#uses=1] %inc.1 = zext i1 %tmp.1 to i32 ; [#uses=1] ret i32 %inc.1 } diff --git a/llvm/test/CodeGen/PowerPC/setcclike-or-comb.ll b/llvm/test/CodeGen/PowerPC/setcclike-or-comb.ll index 8394d30..697a2f0 100644 --- a/llvm/test/CodeGen/PowerPC/setcclike-or-comb.ll +++ b/llvm/test/CodeGen/PowerPC/setcclike-or-comb.ll @@ -8,17 +8,17 @@ target triple = "powerpc64le-unknown-linux-gnu" ; Function Attrs: nounwind define void @fn1() #0 { entry: - %0 = load i32, i32* @a, align 4 + %0 = load i32, ptr @a, align 4 %cmp = icmp ne i32 %0, 1 %conv = zext i1 %cmp to i32 - %1 = load i32, i32* @b, align 4 + %1 = load i32, ptr @b, align 4 %cmp1 = icmp ne i32 0, %1 %conv2 = zext i1 %cmp1 to i32 %or = or i32 %conv, %conv2 %xor = xor i32 1, %or %call = call signext i32 @fn2(i32 signext %xor) %conv4 = zext i1 undef to i32 - store i32 %conv4, i32* @b, align 4 + store i32 %conv4, ptr @b, align 4 ret void ; CHECK-LABEL: @fn1 diff --git a/llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll b/llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll index 1641d4c..8a2927d 100644 --- a/llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll +++ b/llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll @@ -26,10 +26,9 @@ define i16 @SEXTParam(i16 signext %0) #0 { ; CHECK-NEXT: blr top: %1 = alloca i16, align 4 - %2 = bitcast i16* %1 to i8* - store i16 0, i16* %1, align 4 - %rv.i = atomicrmw min i16* %1, i16 %0 acq_rel - %rv.i2 = load atomic i16, i16* %1 acquire, align 16 + store i16 0, ptr %1, align 4 + %rv.i = atomicrmw min ptr %1, i16 %0 acq_rel + %rv.i2 = load atomic i16, ptr %1 acquire, align 16 ret i16 %rv.i2 } @@ -60,14 +59,13 @@ define i16 @noSEXTParam(i16 %0) #0 { ; CHECK-NEXT: blr top: %1 = alloca i16, align 4 - %2 = bitcast i16* %1 to i8* - store i16 0, i16* %1, align 4 - %rv.i = atomicrmw min i16* %1, i16 %0 acq_rel - %rv.i2 = load atomic i16, i16* %1 acquire, align 16 + store i16 0, ptr %1, align 4 + %rv.i = atomicrmw min ptr %1, i16 %0 acq_rel + %rv.i2 = load atomic i16, ptr %1 acquire, align 16 ret i16 %rv.i2 } -define i16 @noSEXTLoad(i16 *%p) #0 { +define i16 @noSEXTLoad(ptr %p) #0 { ; CHECK-LABEL: noSEXTLoad: ; CHECK: # %bb.0: # %top ; CHECK-NEXT: lha 3, 0(3) @@ -93,12 +91,11 @@ define i16 @noSEXTLoad(i16 *%p) #0 { ; CHECK-NEXT: isync ; CHECK-NEXT: blr top: - %0 = load i16, i16* %p, align 2 + %0 = load i16, ptr %p, align 2 %1 = alloca i16, align 4 - %2 = bitcast i16* %1 to i8* - store i16 0, i16* %1, align 4 - %rv.i = atomicrmw min i16* %1, i16 %0 acq_rel - %rv.i2 = load atomic i16, i16* %1 acquire, align 16 + store i16 0, ptr %1, align 4 + %rv.i = atomicrmw min ptr %1, i16 %0 acq_rel + %rv.i2 = load atomic i16, ptr %1 acquire, align 16 ret i16 %rv.i2 } attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/simplifyConstCmpToISEL.ll b/llvm/test/CodeGen/PowerPC/simplifyConstCmpToISEL.ll index 0dea7c5..2dbd682 100644 --- a/llvm/test/CodeGen/PowerPC/simplifyConstCmpToISEL.ll +++ b/llvm/test/CodeGen/PowerPC/simplifyConstCmpToISEL.ll @@ -33,11 +33,11 @@ for.body.i62.us: ; preds = %if.end.i.us.1, %for test2.exit.us.unr-lcssa: ; preds = %if.end.i.us.1, %for.body.i62.us.preheader %c.addr.036.i.us.unr = phi i64 [ 0, %for.body.i62.us.preheader ], [ %c.addr.1.i.us.1, %if.end.i.us.1 ] - %1 = load i64, i64* undef, align 8 + %1 = load i64, ptr undef, align 8 %tobool.i61.us.epil = icmp eq i64 %c.addr.036.i.us.unr, 0 %add.neg.i.us.epil.pn = select i1 %tobool.i61.us.epil, i64 %1, i64 0 %storemerge269 = sub i64 %add.neg.i.us.epil.pn, 0 - store i64 %storemerge269, i64* undef, align 8 + store i64 %storemerge269, ptr undef, align 8 unreachable test3.exit.split: ; preds = %cond.end.i diff --git a/llvm/test/CodeGen/PowerPC/sink-side-effect.ll b/llvm/test/CodeGen/PowerPC/sink-side-effect.ll index c348a97..2e9f498 100644 --- a/llvm/test/CodeGen/PowerPC/sink-side-effect.ll +++ b/llvm/test/CodeGen/PowerPC/sink-side-effect.ll @@ -1,7 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=powerpc64le -mcpu=pwr9 -verify-machineinstrs < %s | FileCheck %s -define double @zot(i32* %arg, float* %arg1, i16* %arg2) { +define double @zot(ptr %arg, ptr %arg1, ptr %arg2) { ; CHECK-LABEL: zot: ; CHECK: # %bb.0: # %bb ; CHECK-NEXT: bc 12, 20, .LBB0_2 @@ -26,11 +26,11 @@ define double @zot(i32* %arg, float* %arg1, i16* %arg2) { ; CHECK-NEXT: xsmuldp 1, 1, 0 ; CHECK-NEXT: b .LBB0_3 bb: - %tmp = load i32, i32* %arg, align 8 + %tmp = load i32, ptr %arg, align 8 br i1 undef, label %bb9, label %bb3 bb3: - %tmp4 = load i16, i16* %arg2, align 4 + %tmp4 = load i16, ptr %arg2, align 4 %tmp5 = lshr i16 %tmp4, 4 %tmp6 = and i16 %tmp5, 3 %tmp7 = zext i16 %tmp6 to i32 @@ -46,7 +46,7 @@ bb10: br label %bb13 bb13: - %tmp14 = load float, float* %arg1, align 4 + %tmp14 = load float, ptr %arg1, align 4 %tmp15 = fpext float %tmp14 to double br label %bb16 diff --git a/llvm/test/CodeGen/PowerPC/sj-ctr-loop.ll b/llvm/test/CodeGen/PowerPC/sj-ctr-loop.ll index 7e485e2..4446814 100644 --- a/llvm/test/CodeGen/PowerPC/sj-ctr-loop.ll +++ b/llvm/test/CodeGen/PowerPC/sj-ctr-loop.ll @@ -30,7 +30,7 @@ for.cond: ; preds = %for.body for.body: ; preds = %for.cond, %for.body.lr.ph %i.032 = phi i32 [ 0, %for.body.lr.ph ], [ %inc, %for.cond ] - %0 = call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([1 x %struct.__jmp_buf_tag.1.15.17.21.25.49.53.55]* @env_sigill to i8*)) + %0 = call i32 @llvm.eh.sjlj.setjmp(ptr @env_sigill) %inc = add nsw i32 %i.032, 1 br i1 false, label %if.else, label %for.cond @@ -45,6 +45,6 @@ return: ; preds = %for.end.thread, %en } ; Function Attrs: nounwind -declare i32 @llvm.eh.sjlj.setjmp(i8*) #0 +declare i32 @llvm.eh.sjlj.setjmp(ptr) #0 attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/sjlj.ll b/llvm/test/CodeGen/PowerPC/sjlj.ll index 4a57732..9f7e26e 100644 --- a/llvm/test/CodeGen/PowerPC/sjlj.ll +++ b/llvm/test/CodeGen/PowerPC/sjlj.ll @@ -11,7 +11,7 @@ target triple = "powerpc64-unknown-linux-gnu" define void @foo() #0 { entry: - call void @llvm.eh.sjlj.longjmp(i8* bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8*)) + call void @llvm.eh.sjlj.longjmp(ptr @env_sigill) unreachable ; CHECK: @foo @@ -29,22 +29,22 @@ return: ; No predecessors! ret void } -declare void @llvm.eh.sjlj.longjmp(i8*) #1 +declare void @llvm.eh.sjlj.longjmp(ptr) #1 define signext i32 @main() #0 { entry: %retval = alloca i32, align 4 - store i32 0, i32* %retval - %0 = call i8* @llvm.frameaddress(i32 0) - store i8* %0, i8** bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8**) - %1 = call i8* @llvm.stacksave() - store i8* %1, i8** getelementptr (i8*, i8** bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8**), i32 2) - %2 = call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8*)) + store i32 0, ptr %retval + %0 = call ptr @llvm.frameaddress(i32 0) + store ptr %0, ptr @env_sigill + %1 = call ptr @llvm.stacksave() + store ptr %1, ptr getelementptr (ptr, ptr @env_sigill, i32 2) + %2 = call i32 @llvm.eh.sjlj.setjmp(ptr @env_sigill) %tobool = icmp ne i32 %2, 0 br i1 %tobool, label %if.then, label %if.else if.then: ; preds = %entry - store i32 1, i32* %retval + store i32 1, ptr %retval br label %return if.else: ; preds = %entry @@ -52,11 +52,11 @@ if.else: ; preds = %entry br label %if.end if.end: ; preds = %if.else - store i32 0, i32* %retval + store i32 0, ptr %retval br label %return return: ; preds = %if.end, %if.then - %3 = load i32, i32* %retval + %3 = load i32, ptr %retval ret i32 %3 @@ -104,19 +104,19 @@ return: ; preds = %if.end, %if.then define signext i32 @main2() #0 { entry: %a = alloca i8, align 64 - call void @bar(i8* %a) + call void @bar(ptr %a) %retval = alloca i32, align 4 - store i32 0, i32* %retval - %0 = call i8* @llvm.frameaddress(i32 0) - store i8* %0, i8** bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8**) - %1 = call i8* @llvm.stacksave() - store i8* %1, i8** getelementptr (i8*, i8** bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8**), i32 2) - %2 = call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8*)) + store i32 0, ptr %retval + %0 = call ptr @llvm.frameaddress(i32 0) + store ptr %0, ptr @env_sigill + %1 = call ptr @llvm.stacksave() + store ptr %1, ptr getelementptr (ptr, ptr @env_sigill, i32 2) + %2 = call i32 @llvm.eh.sjlj.setjmp(ptr @env_sigill) %tobool = icmp ne i32 %2, 0 br i1 %tobool, label %if.then, label %if.else if.then: ; preds = %entry - store i32 1, i32* %retval + store i32 1, ptr %retval br label %return if.else: ; preds = %entry @@ -124,11 +124,11 @@ if.else: ; preds = %entry br label %if.end if.end: ; preds = %if.else - store i32 0, i32* %retval + store i32 0, ptr %retval br label %return return: ; preds = %if.end, %if.then - %3 = load i32, i32* %retval + %3 = load i32, ptr %retval ret i32 %3 ; CHECK-LABEL: main2: @@ -147,12 +147,12 @@ return: ; preds = %if.end, %if.then define void @test_sjlj_setjmp() #0 { entry: - %0 = load i8, i8* @cond, align 1 + %0 = load i8, ptr @cond, align 1 %tobool = trunc i8 %0 to i1 br i1 %tobool, label %return, label %end end: - %1 = call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([1 x %struct.__jmp_buf_tag]* @env_sigill to i8*)) + %1 = call i32 @llvm.eh.sjlj.setjmp(ptr @env_sigill) br label %return return: @@ -163,13 +163,13 @@ return: ; CHECK-NOT: bl _setjmp } -declare void @bar(i8*) #3 +declare void @bar(ptr) #3 -declare i8* @llvm.frameaddress(i32) #2 +declare ptr @llvm.frameaddress(i32) #2 -declare i8* @llvm.stacksave() #3 +declare ptr @llvm.stacksave() #3 -declare i32 @llvm.eh.sjlj.setjmp(i8*) #3 +declare i32 @llvm.eh.sjlj.setjmp(ptr) #3 attributes #0 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { noreturn nounwind } diff --git a/llvm/test/CodeGen/PowerPC/sjlj_no0x.ll b/llvm/test/CodeGen/PowerPC/sjlj_no0x.ll index 01053c4..57a2704 100644 --- a/llvm/test/CodeGen/PowerPC/sjlj_no0x.ll +++ b/llvm/test/CodeGen/PowerPC/sjlj_no0x.ll @@ -8,7 +8,7 @@ target triple = "powerpc64le-unknown-linux-gnu" ; Function Attrs: noinline nounwind define void @_Z23BuiltinLongJmpFunc1_bufv() #0 { entry: - call void @llvm.eh.sjlj.longjmp(i8* bitcast (void ()* @_Z23BuiltinLongJmpFunc1_bufv to i8*)) + call void @llvm.eh.sjlj.longjmp(ptr @_Z23BuiltinLongJmpFunc1_bufv) unreachable ; CHECK: @_Z23BuiltinLongJmpFunc1_bufv @@ -26,4 +26,4 @@ return: ; No predecessors! } ; Function Attrs: noreturn nounwind -declare void @llvm.eh.sjlj.longjmp(i8*) #1 +declare void @llvm.eh.sjlj.longjmp(ptr) #1 diff --git a/llvm/test/CodeGen/PowerPC/small-arguments.ll b/llvm/test/CodeGen/PowerPC/small-arguments.ll index d35ef3d..0e5854f 100644 --- a/llvm/test/CodeGen/PowerPC/small-arguments.ll +++ b/llvm/test/CodeGen/PowerPC/small-arguments.ll @@ -25,23 +25,23 @@ UnifiedReturnBlock: ret void } -define i32 @test4(i16* %P) { - %tmp.1 = load i16, i16* %P +define i32 @test4(ptr %P) { + %tmp.1 = load i16, ptr %P %tmp.2 = zext i16 %tmp.1 to i32 %tmp.3 = and i32 %tmp.2, 255 ret i32 %tmp.3 } -define i32 @test5(i16* %P) { - %tmp.1 = load i16, i16* %P +define i32 @test5(ptr %P) { + %tmp.1 = load i16, ptr %P %tmp.2 = bitcast i16 %tmp.1 to i16 %tmp.3 = zext i16 %tmp.2 to i32 %tmp.4 = and i32 %tmp.3, 255 ret i32 %tmp.4 } -define i32 @test6(i32* %P) { - %tmp.1 = load i32, i32* %P +define i32 @test6(ptr %P) { + %tmp.1 = load i32, ptr %P %tmp.2 = and i32 %tmp.1, 255 ret i32 %tmp.2 } diff --git a/llvm/test/CodeGen/PowerPC/sms-cpy-1.ll b/llvm/test/CodeGen/PowerPC/sms-cpy-1.ll index 5632695..68c3c1f 100644 --- a/llvm/test/CodeGen/PowerPC/sms-cpy-1.ll +++ b/llvm/test/CodeGen/PowerPC/sms-cpy-1.ll @@ -82,7 +82,7 @@ define void @print_res() nounwind { ; CHECK-NEXT: li 5, 0 ; CHECK-NEXT: bl printf ; CHECK-NEXT: nop - %1 = load i32, i32* undef, align 4 + %1 = load i32, ptr undef, align 4 %2 = add i32 %1, -1 %3 = zext i32 %2 to i64 %4 = zext i32 3 to i64 @@ -94,8 +94,8 @@ define void @print_res() nounwind { %8 = trunc i64 %6 to i32 %9 = sub i32 0, %8 %10 = zext i32 %9 to i64 - %11 = getelementptr inbounds i8, i8* null, i64 %10 - %12 = load i8, i8* %11, align 1 + %11 = getelementptr inbounds i8, ptr null, i64 %10 + %12 = load i8, ptr %11, align 1 %13 = icmp eq i8 %12, 84 %14 = zext i1 %13 to i32 %15 = add i32 %7, %14 @@ -107,8 +107,8 @@ define void @print_res() nounwind { 20: ; preds = %5 %21 = trunc i64 %16 to i32 - call void (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.28, i64 0, i64 0), i32 zeroext 3, i32 zeroext undef, i32 zeroext %15, i32 zeroext undef, i32 zeroext 3, i8* undef, i32 zeroext undef, i32 zeroext 3, i32 zeroext %21, i8* undef, i32 zeroext undef) #1 + call void (ptr, ...) @printf(ptr @.str.28, i32 zeroext 3, i32 zeroext undef, i32 zeroext %15, i32 zeroext undef, i32 zeroext 3, ptr undef, i32 zeroext undef, i32 zeroext 3, i32 zeroext %21, ptr undef, i32 zeroext undef) #1 unreachable } -declare void @printf(i8*, ...) local_unnamed_addr #0 +declare void @printf(ptr, ...) local_unnamed_addr #0 diff --git a/llvm/test/CodeGen/PowerPC/sms-grp-order.ll b/llvm/test/CodeGen/PowerPC/sms-grp-order.ll index ce322eb..f72598c 100644 --- a/llvm/test/CodeGen/PowerPC/sms-grp-order.ll +++ b/llvm/test/CodeGen/PowerPC/sms-grp-order.ll @@ -26,8 +26,8 @@ define void @lame_encode_buffer_interleaved() local_unnamed_addr { 1: ; preds = %1, %0 %2 = phi i64 [ 0, %0 ], [ %13, %1 ] - %3 = load i16, i16* null, align 2 - %4 = load i16, i16* undef, align 2 + %3 = load i16, ptr null, align 2 + %4 = load i16, ptr undef, align 2 %5 = sext i16 %3 to i32 %6 = sext i16 %4 to i32 %7 = add nsw i32 0, %5 @@ -36,8 +36,8 @@ define void @lame_encode_buffer_interleaved() local_unnamed_addr { %10 = sdiv i32 %8, 2 %11 = trunc i32 %9 to i16 %12 = trunc i32 %10 to i16 - store i16 %11, i16* null, align 2 - store i16 %12, i16* undef, align 2 + store i16 %11, ptr null, align 2 + store i16 %12, ptr undef, align 2 %13 = add i64 %2, 4 %14 = icmp eq i64 %13, 0 br i1 %14, label %15, label %1 diff --git a/llvm/test/CodeGen/PowerPC/sms-iterator.ll b/llvm/test/CodeGen/PowerPC/sms-iterator.ll index 0fcb489..cb85c4ba 100644 --- a/llvm/test/CodeGen/PowerPC/sms-iterator.ll +++ b/llvm/test/CodeGen/PowerPC/sms-iterator.ll @@ -22,8 +22,8 @@ define dso_local fastcc double @_ZN3povL9polysolveEiPdS0_() unnamed_addr #0 { %6 = phi i64 [ %12, %3 ], [ undef, %2 ] %7 = add nsw i64 %4, -1 %8 = fmul fast double %5, 1.000000e+07 - %9 = getelementptr inbounds %0, %0* null, i64 1, i32 1, i64 %7 - %10 = load double, double* %9, align 8 + %9 = getelementptr inbounds %0, ptr null, i64 1, i32 1, i64 %7 + %10 = load double, ptr %9, align 8 %11 = fadd fast double %10, %8 %12 = add i64 %6, -1 %13 = icmp eq i64 %12, 0 diff --git a/llvm/test/CodeGen/PowerPC/sms-phi-2.ll b/llvm/test/CodeGen/PowerPC/sms-phi-2.ll index dd94ee8..4904d11 100644 --- a/llvm/test/CodeGen/PowerPC/sms-phi-2.ll +++ b/llvm/test/CodeGen/PowerPC/sms-phi-2.ll @@ -2,7 +2,7 @@ ; RUN: llc < %s -mtriple=powerpc64le-unknown-linux-gnu -verify-machineinstrs\ ; RUN: -mcpu=pwr9 --ppc-enable-pipeliner --pipeliner-force-ii=15 2>&1 | FileCheck %s -define void @phi2(i32, i32, i8*) local_unnamed_addr { +define void @phi2(i32, i32, ptr) local_unnamed_addr { ; CHECK-LABEL: phi2: ; CHECK: # %bb.0: ; CHECK-NEXT: divw 8, 3, 4 @@ -59,8 +59,8 @@ define void @phi2(i32, i32, i8*) local_unnamed_addr { %12 = trunc i32 %10 to i8 %13 = select i1 %11, i8 48, i8 55 %14 = add i8 %13, %12 - %15 = getelementptr inbounds i8, i8* %2, i64 %7 - store i8 %14, i8* %15, align 1 + %15 = getelementptr inbounds i8, ptr %2, i64 %7 + store i8 %14, ptr %15, align 1 %16 = icmp sgt i64 %5, 1 br i1 %16, label %4, label %17 diff --git a/llvm/test/CodeGen/PowerPC/sms-phi-5.ll b/llvm/test/CodeGen/PowerPC/sms-phi-5.ll index bdc773d..5a4aa8f 100644 --- a/llvm/test/CodeGen/PowerPC/sms-phi-5.ll +++ b/llvm/test/CodeGen/PowerPC/sms-phi-5.ll @@ -28,7 +28,7 @@ define void @phi5() unnamed_addr { ] 1: ; preds = %0, %0, %0, %0 - %2 = load i16, i16* undef, align 2 + %2 = load i16, ptr undef, align 2 br label %3 3: ; preds = %3, %1 diff --git a/llvm/test/CodeGen/PowerPC/sms-phi.ll b/llvm/test/CodeGen/PowerPC/sms-phi.ll index 4e9031b..53a3f13 100644 --- a/llvm/test/CodeGen/PowerPC/sms-phi.ll +++ b/llvm/test/CodeGen/PowerPC/sms-phi.ll @@ -15,8 +15,8 @@ define dso_local void @sha512() #0 { %2 = phi i64 [ 0, %0 ], [ %12, %1 ] %3 = phi i64 [ undef, %0 ], [ %11, %1 ] %4 = phi i64 [ undef, %0 ], [ %3, %1 ] - %5 = getelementptr inbounds [80 x i64], [80 x i64]* null, i64 0, i64 %2 - %6 = load i64, i64* %5, align 8 + %5 = getelementptr inbounds [80 x i64], ptr null, i64 0, i64 %2 + %6 = load i64, ptr %5, align 8 %7 = add i64 0, %6 %8 = and i64 %3, %4 %9 = or i64 0, %8 @@ -28,7 +28,7 @@ define dso_local void @sha512() #0 { 14: ; preds = %1 %15 = add i64 %4, 0 - store i64 %15, i64* undef, align 8 + store i64 %15, ptr undef, align 8 ret void } diff --git a/llvm/test/CodeGen/PowerPC/sms-remark.ll b/llvm/test/CodeGen/PowerPC/sms-remark.ll index e68eb56..11e324b 100644 --- a/llvm/test/CodeGen/PowerPC/sms-remark.ll +++ b/llvm/test/CodeGen/PowerPC/sms-remark.ll @@ -10,40 +10,40 @@ @x = dso_local local_unnamed_addr global <{ i32, i32, i32, i32, [1020 x i32] }> <{ i32 1, i32 2, i32 3, i32 4, [1020 x i32] zeroinitializer }>, align 4 @y = dso_local global [1024 x i32] zeroinitializer, align 4 -define dso_local i32* @foo() local_unnamed_addr { +define dso_local ptr @foo() local_unnamed_addr { ;ENABLED: Schedule found with Initiation Interval ;ENABLED: Pipelined succesfully! ;DISABLED-NOT: remark entry: - %.pre = load i32, i32* getelementptr inbounds ([1024 x i32], [1024 x i32]* @y, i64 0, i64 0), align 4 + %.pre = load i32, ptr @y, align 4 br label %for.body for.cond.cleanup: ; preds = %for.body - ret i32* getelementptr inbounds ([1024 x i32], [1024 x i32]* @y, i64 0, i64 0) + ret ptr @y for.body: ; preds = %for.body, %entry %0 = phi i32 [ %.pre, %entry ], [ %add.2, %for.body ] %indvars.iv = phi i64 [ 1, %entry ], [ %indvars.iv.next.2, %for.body ] - %arrayidx2 = getelementptr inbounds [1024 x i32], [1024 x i32]* bitcast (<{ i32, i32, i32, i32, [1020 x i32] }>* @x to [1024 x i32]*), i64 0, i64 %indvars.iv - %1 = load i32, i32* %arrayidx2, align 4 + %arrayidx2 = getelementptr inbounds [1024 x i32], ptr @x, i64 0, i64 %indvars.iv + %1 = load i32, ptr %arrayidx2, align 4 %mul = mul nsw i32 %1, %1 %add = add nsw i32 %mul, %0 - %arrayidx6 = getelementptr inbounds [1024 x i32], [1024 x i32]* @y, i64 0, i64 %indvars.iv - store i32 %add, i32* %arrayidx6, align 4 + %arrayidx6 = getelementptr inbounds [1024 x i32], ptr @y, i64 0, i64 %indvars.iv + store i32 %add, ptr %arrayidx6, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %arrayidx2.1 = getelementptr inbounds [1024 x i32], [1024 x i32]* bitcast (<{ i32, i32, i32, i32, [1020 x i32] }>* @x to [1024 x i32]*), i64 0, i64 %indvars.iv.next - %2 = load i32, i32* %arrayidx2.1, align 4 + %arrayidx2.1 = getelementptr inbounds [1024 x i32], ptr @x, i64 0, i64 %indvars.iv.next + %2 = load i32, ptr %arrayidx2.1, align 4 %mul.1 = mul nsw i32 %2, %2 %add.1 = add nsw i32 %mul.1, %add - %arrayidx6.1 = getelementptr inbounds [1024 x i32], [1024 x i32]* @y, i64 0, i64 %indvars.iv.next - store i32 %add.1, i32* %arrayidx6.1, align 4 + %arrayidx6.1 = getelementptr inbounds [1024 x i32], ptr @y, i64 0, i64 %indvars.iv.next + store i32 %add.1, ptr %arrayidx6.1, align 4 %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv, 2 - %arrayidx2.2 = getelementptr inbounds [1024 x i32], [1024 x i32]* bitcast (<{ i32, i32, i32, i32, [1020 x i32] }>* @x to [1024 x i32]*), i64 0, i64 %indvars.iv.next.1 - %3 = load i32, i32* %arrayidx2.2, align 4 + %arrayidx2.2 = getelementptr inbounds [1024 x i32], ptr @x, i64 0, i64 %indvars.iv.next.1 + %3 = load i32, ptr %arrayidx2.2, align 4 %mul.2 = mul nsw i32 %3, %3 %add.2 = add nsw i32 %mul.2, %add.1 - %arrayidx6.2 = getelementptr inbounds [1024 x i32], [1024 x i32]* @y, i64 0, i64 %indvars.iv.next.1 - store i32 %add.2, i32* %arrayidx6.2, align 4 + %arrayidx6.2 = getelementptr inbounds [1024 x i32], ptr @y, i64 0, i64 %indvars.iv.next.1 + store i32 %add.2, ptr %arrayidx6.2, align 4 %indvars.iv.next.2 = add nuw nsw i64 %indvars.iv, 3 %exitcond.2 = icmp eq i64 %indvars.iv.next.2, 1024 br i1 %exitcond.2, label %for.cond.cleanup, label %for.body diff --git a/llvm/test/CodeGen/PowerPC/sms-simple.ll b/llvm/test/CodeGen/PowerPC/sms-simple.ll index 9cac77b..689b505 100644 --- a/llvm/test/CodeGen/PowerPC/sms-simple.ll +++ b/llvm/test/CodeGen/PowerPC/sms-simple.ll @@ -6,7 +6,7 @@ @x = dso_local local_unnamed_addr global <{ i32, i32, i32, i32, [1020 x i32] }> <{ i32 1, i32 2, i32 3, i32 4, [1020 x i32] zeroinitializer }>, align 4 @y = dso_local global [1024 x i32] zeroinitializer, align 4 -define dso_local i32* @foo() local_unnamed_addr { +define dso_local ptr @foo() local_unnamed_addr { ; CHECK-LABEL: foo: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: addis r5, r2, y@toc@ha @@ -43,35 +43,35 @@ define dso_local i32* @foo() local_unnamed_addr { ; CHECK-NEXT: stw r5, 8(r4) ; CHECK-NEXT: blr entry: - %.pre = load i32, i32* getelementptr inbounds ([1024 x i32], [1024 x i32]* @y, i64 0, i64 0), align 4 + %.pre = load i32, ptr @y, align 4 br label %for.body for.cond.cleanup: ; preds = %for.body - ret i32* getelementptr inbounds ([1024 x i32], [1024 x i32]* @y, i64 0, i64 0) + ret ptr @y for.body: ; preds = %for.body, %entry %0 = phi i32 [ %.pre, %entry ], [ %add.2, %for.body ] %indvars.iv = phi i64 [ 1, %entry ], [ %indvars.iv.next.2, %for.body ] - %arrayidx2 = getelementptr inbounds [1024 x i32], [1024 x i32]* bitcast (<{ i32, i32, i32, i32, [1020 x i32] }>* @x to [1024 x i32]*), i64 0, i64 %indvars.iv - %1 = load i32, i32* %arrayidx2, align 4 + %arrayidx2 = getelementptr inbounds [1024 x i32], ptr @x, i64 0, i64 %indvars.iv + %1 = load i32, ptr %arrayidx2, align 4 %mul = mul nsw i32 %1, %1 %add = add nsw i32 %mul, %0 - %arrayidx6 = getelementptr inbounds [1024 x i32], [1024 x i32]* @y, i64 0, i64 %indvars.iv - store i32 %add, i32* %arrayidx6, align 4 + %arrayidx6 = getelementptr inbounds [1024 x i32], ptr @y, i64 0, i64 %indvars.iv + store i32 %add, ptr %arrayidx6, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %arrayidx2.1 = getelementptr inbounds [1024 x i32], [1024 x i32]* bitcast (<{ i32, i32, i32, i32, [1020 x i32] }>* @x to [1024 x i32]*), i64 0, i64 %indvars.iv.next - %2 = load i32, i32* %arrayidx2.1, align 4 + %arrayidx2.1 = getelementptr inbounds [1024 x i32], ptr @x, i64 0, i64 %indvars.iv.next + %2 = load i32, ptr %arrayidx2.1, align 4 %mul.1 = mul nsw i32 %2, %2 %add.1 = add nsw i32 %mul.1, %add - %arrayidx6.1 = getelementptr inbounds [1024 x i32], [1024 x i32]* @y, i64 0, i64 %indvars.iv.next - store i32 %add.1, i32* %arrayidx6.1, align 4 + %arrayidx6.1 = getelementptr inbounds [1024 x i32], ptr @y, i64 0, i64 %indvars.iv.next + store i32 %add.1, ptr %arrayidx6.1, align 4 %indvars.iv.next.1 = add nuw nsw i64 %indvars.iv, 2 - %arrayidx2.2 = getelementptr inbounds [1024 x i32], [1024 x i32]* bitcast (<{ i32, i32, i32, i32, [1020 x i32] }>* @x to [1024 x i32]*), i64 0, i64 %indvars.iv.next.1 - %3 = load i32, i32* %arrayidx2.2, align 4 + %arrayidx2.2 = getelementptr inbounds [1024 x i32], ptr @x, i64 0, i64 %indvars.iv.next.1 + %3 = load i32, ptr %arrayidx2.2, align 4 %mul.2 = mul nsw i32 %3, %3 %add.2 = add nsw i32 %mul.2, %add.1 - %arrayidx6.2 = getelementptr inbounds [1024 x i32], [1024 x i32]* @y, i64 0, i64 %indvars.iv.next.1 - store i32 %add.2, i32* %arrayidx6.2, align 4 + %arrayidx6.2 = getelementptr inbounds [1024 x i32], ptr @y, i64 0, i64 %indvars.iv.next.1 + store i32 %add.2, ptr %arrayidx6.2, align 4 %indvars.iv.next.2 = add nuw nsw i64 %indvars.iv, 3 %exitcond.2 = icmp eq i64 %indvars.iv.next.2, 1024 br i1 %exitcond.2, label %for.cond.cleanup, label %for.body diff --git a/llvm/test/CodeGen/PowerPC/spe-fastmath.ll b/llvm/test/CodeGen/PowerPC/spe-fastmath.ll index d2b83f7..434f89b 100644 --- a/llvm/test/CodeGen/PowerPC/spe-fastmath.ll +++ b/llvm/test/CodeGen/PowerPC/spe-fastmath.ll @@ -24,7 +24,7 @@ entry: %tobool = fcmp une double %mul, 0.000000e+00 %cond = select i1 %tobool, double %conv, double 0.000000e+00 %conv3 = fptosi double %cond to i16 - store i16 %conv3, i16* undef + store i16 %conv3, ptr undef ret void } diff --git a/llvm/test/CodeGen/PowerPC/spe-hwdouble.ll b/llvm/test/CodeGen/PowerPC/spe-hwdouble.ll index e004878..77d584a 100644 --- a/llvm/test/CodeGen/PowerPC/spe-hwdouble.ll +++ b/llvm/test/CodeGen/PowerPC/spe-hwdouble.ll @@ -15,8 +15,8 @@ define i32 @test_dasmconst(double %x) #0 { ; CHECK-NEXT: blr entry: %x.addr = alloca double, align 8 - store double %x, double* %x.addr, align 8 - %0 = load double, double* %x.addr, align 8 + store double %x, ptr %x.addr, align 8 + %0 = load double, ptr %x.addr, align 8 %1 = call i32 asm sideeffect "efdctsi $0, $1", "=d,d"(double %0) ret i32 %1 } diff --git a/llvm/test/CodeGen/PowerPC/spe.ll b/llvm/test/CodeGen/PowerPC/spe.ll index 2c25627..7836aa8 100644 --- a/llvm/test/CodeGen/PowerPC/spe.ll +++ b/llvm/test/CodeGen/PowerPC/spe.ll @@ -100,13 +100,13 @@ define i32 @test_fcmpgt(float %a, float %b) #0 { %c = fcmp ogt float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -137,13 +137,13 @@ define i32 @test_fcmpugt(float %a, float %b) #0 { %c = fcmp ugt float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -174,13 +174,13 @@ define i32 @test_fcmple(float %a, float %b) #0 { %c = fcmp ole float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -205,13 +205,13 @@ define i32 @test_fcmpule(float %a, float %b) #0 { %c = fcmp ule float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -237,13 +237,13 @@ define i32 @test_fcmpeq(float %a, float %b) #0 { %c = fcmp oeq float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -345,13 +345,13 @@ define i32 @test_fcmpune(float %a, float %b) #0 { %c = fcmp une float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -376,13 +376,13 @@ define i32 @test_fcmplt(float %a, float %b) #0 { %c = fcmp olt float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -434,13 +434,13 @@ define i32 @test_fcmpge(float %a, float %b) #0 { %c = fcmp oge float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -465,13 +465,13 @@ define i32 @test_fcmpuge(float %a, float %b) #0 { %c = fcmp uge float %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -526,8 +526,8 @@ define i32 @test_fasmconst(float %x) #0 { ; CHECK-NEXT: blr entry: %x.addr = alloca float, align 8 - store float %x, float* %x.addr, align 8 - %0 = load float, float* %x.addr, align 8 + store float %x, ptr %x.addr, align 8 + %0 = load float, ptr %x.addr, align 8 %1 = call i32 asm sideeffect "efsctsi $0, $1", "=f,f"(float %0) ret i32 %1 ; Check that it's not loading a double @@ -559,7 +559,7 @@ define float @test_dtos(double %a) #0 { ret float %v } -define void @test_double_abs(double * %aa) #0 { +define void @test_double_abs(ptr %aa) #0 { ; SPE-LABEL: test_double_abs: ; SPE: # %bb.0: # %entry ; SPE-NEXT: evldd 4, 0(3) @@ -574,16 +574,16 @@ define void @test_double_abs(double * %aa) #0 { ; EFPU2-NEXT: stw 4, 0(3) ; EFPU2-NEXT: blr entry: - %0 = load double, double * %aa + %0 = load double, ptr %aa %1 = tail call double @llvm.fabs.f64(double %0) #2 - store double %1, double * %aa + store double %1, ptr %aa ret void } ; Function Attrs: nounwind readnone declare double @llvm.fabs.f64(double) #1 -define void @test_dnabs(double * %aa) #0 { +define void @test_dnabs(ptr %aa) #0 { ; SPE-LABEL: test_dnabs: ; SPE: # %bb.0: # %entry ; SPE-NEXT: evldd 4, 0(3) @@ -598,10 +598,10 @@ define void @test_dnabs(double * %aa) #0 { ; EFPU2-NEXT: stw 4, 0(3) ; EFPU2-NEXT: blr entry: - %0 = load double, double * %aa + %0 = load double, ptr %aa %1 = tail call double @llvm.fabs.f64(double %0) #2 %sub = fsub double -0.000000e+00, %1 - store double %sub, double * %aa + store double %sub, ptr %aa ret void } @@ -867,13 +867,13 @@ define i32 @test_dcmpgt(double %a, double %b) #0 { %c = fcmp ogt double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -927,13 +927,13 @@ define i32 @test_dcmpugt(double %a, double %b) #0 { %c = fcmp ugt double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -981,13 +981,13 @@ define i32 @test_dcmple(double %a, double %b) #0 { %c = fcmp ule double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1035,13 +1035,13 @@ define i32 @test_dcmpule(double %a, double %b) #0 { %c = fcmp ule double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1090,13 +1090,13 @@ define i32 @test_dcmpeq(double %a, double %b) #0 { %c = fcmp oeq double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1171,13 +1171,13 @@ define i32 @test_dcmpueq(double %a, double %b) #0 { %c = fcmp ueq double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1289,13 +1289,13 @@ define i32 @test_dcmpune(double %a, double %b) #0 { %c = fcmp une double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1343,13 +1343,13 @@ define i32 @test_dcmplt(double %a, double %b) #0 { %c = fcmp olt double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1403,13 +1403,13 @@ define i32 @test_dcmpult(double %a, double %b) #0 { %c = fcmp ult double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1493,13 +1493,13 @@ define i32 @test_dcmpuge(double %a, double %b) #0 { %c = fcmp uge double %a, %b br i1 %c, label %tr, label %fa tr: - store i32 1, i32* %r, align 4 + store i32 1, ptr %r, align 4 br label %ret fa: - store i32 0, i32* %r, align 4 + store i32 0, ptr %r, align 4 br label %ret ret: - %0 = load i32, i32* %r, align 4 + %0 = load i32, ptr %r, align 4 ret i32 %0 } @@ -1632,9 +1632,9 @@ entry: ret void } -declare void @test_memset(i8* nocapture writeonly, i8, i32, i1) +declare void @test_memset(ptr nocapture writeonly, i8, i32, i1) @global_var1 = global i32 0, align 4 -define double @test_spill(double %a, i32 %a1, i64 %a2, i8 * %a3, i32 *%a4, i32* %a5) #0 { +define double @test_spill(double %a, i32 %a1, i64 %a2, ptr %a3, ptr %a4, ptr %a5) #0 { ; SPE-LABEL: test_spill: ; SPE: # %bb.0: # %entry ; SPE-NEXT: mflr 0 @@ -1763,12 +1763,10 @@ entry: %0 = fadd double %a, %a call void asm sideeffect "","~{s0},~{s3},~{s4},~{s5},~{s6},~{s7},~{s8},~{s9},~{s10},~{s11},~{s12},~{s13},~{s14},~{s15},~{s16},~{s17},~{s18},~{s19},~{s20},~{s21},~{s22},~{s23},~{s24},~{s25},~{s26},~{s27},~{s28},~{s29},~{s30},~{s31}"() nounwind %1 = fadd double %0, 3.14159 - %2 = bitcast [13 x i32]* %v1 to i8* - call void @test_memset(i8* align 4 %2, i8 0, i32 24, i1 true) - store i32 0, i32* %a5, align 4 + call void @test_memset(ptr align 4 %v1, i8 0, i32 24, i1 true) + store i32 0, ptr %a5, align 4 call void @test_func2() - %3 = bitcast [11 x i32]* %v2 to i8* - call void @test_memset(i8* align 4 %3, i8 0, i32 20, i1 true) + call void @test_memset(ptr align 4 %v2, i8 0, i32 20, i1 true) br label %return return: @@ -1837,7 +1835,7 @@ attributes #1 = { nounwind readnone speculatable willreturn } declare i32 @foo(double) -define void @d(%struct.a* %e, %struct.a* %f) #0 { +define void @d(ptr %e, ptr %f) #0 { ; SPE-LABEL: d: ; SPE: # %bb.0: # %entry ; SPE-NEXT: mflr 0 @@ -1914,17 +1912,16 @@ define void @d(%struct.a* %e, %struct.a* %f) #0 { ; EFPU2-NEXT: mtlr 0 ; EFPU2-NEXT: blr entry: - %0 = getelementptr %struct.a, %struct.a* %f, i32 0, i32 0 - %1 = load float, float* undef - %conv = fpext float %1 to double - %2 = load float, float* %0 - %g = fpext float %2 to double - %3 = call i32 @foo(double %g) + %0 = load float, ptr undef + %conv = fpext float %0 to double + %1 = load float, ptr %f + %g = fpext float %1 to double + %2 = call i32 @foo(double %g) %h = call i32 @foo(double %conv) - %n = sitofp i32 %3 to double + %n = sitofp i32 %2 to double %k = fmul double %g, %n %l = fptrunc double %k to float - store float %l, float* undef + store float %l, ptr undef ret void } attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/spill-nor0.ll b/llvm/test/CodeGen/PowerPC/spill-nor0.ll index c9c6651..325dc0e 100644 --- a/llvm/test/CodeGen/PowerPC/spill-nor0.ll +++ b/llvm/test/CodeGen/PowerPC/spill-nor0.ll @@ -11,7 +11,7 @@ if.then: ; preds = %entry ret void if.end: ; preds = %entry - %0 = call i64 asm sideeffect "mr 3,$1\0A\09mr 4,$2\0A\09rotldi 0,0,3 ; rotldi 0,0,13\0A\09rotldi 0,0,61 ; rotldi 0,0,51\0A\09or 1,1,1\0A\09mr $0,3", "=b,b,b,~{cc},~{memory},~{r3},~{r4}"(i32 0, i64* undef) #0 + %0 = call i64 asm sideeffect "mr 3,$1\0A\09mr 4,$2\0A\09rotldi 0,0,3 ; rotldi 0,0,13\0A\09rotldi 0,0,61 ; rotldi 0,0,51\0A\09or 1,1,1\0A\09mr $0,3", "=b,b,b,~{cc},~{memory},~{r3},~{r4}"(i32 0, ptr undef) #0 br i1 undef, label %end0, label %end1 ; need successor blocks to force spill end0: diff --git a/llvm/test/CodeGen/PowerPC/spill-vec-pair.ll b/llvm/test/CodeGen/PowerPC/spill-vec-pair.ll index e08d92d..adca498 100644 --- a/llvm/test/CodeGen/PowerPC/spill-vec-pair.ll +++ b/llvm/test/CodeGen/PowerPC/spill-vec-pair.ll @@ -6,7 +6,7 @@ ; RUN: -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \ ; RUN: -disable-auto-paired-vec-st=false < %s | FileCheck %s \ ; RUN: --check-prefix=CHECK-BE -define dso_local void @test(<256 x i1>* %vpp, <256 x i1>* %vp2) local_unnamed_addr #0 { +define dso_local void @test(ptr %vpp, ptr %vp2) local_unnamed_addr #0 { ; CHECK-LABEL: test: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stdu r1, -400(r1) @@ -153,16 +153,14 @@ define dso_local void @test(<256 x i1>* %vpp, <256 x i1>* %vp2) local_unnamed_ad ; CHECK-BE-NEXT: addi r1, r1, 416 ; CHECK-BE-NEXT: blr entry: - %0 = bitcast <256 x i1>* %vpp to i8* - %1 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(i8* %0) + %0 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %vpp) tail call void asm sideeffect "nop", "~{memory},~{vs0},~{vs1},~{vs2},~{vs3},~{vs4},~{vs5},~{vs6},~{vs7},~{vs8},~{vs9},~{vs10},~{vs11},~{vs12},~{vs13},~{vs14},~{vs15},~{vs16},~{vs17},~{vs18},~{vs19},~{vs20},~{vs21},~{vs22},~{vs23},~{vs24},~{vs25},~{vs26},~{vs27},~{vs28},~{vs29},~{vs30},~{vs31},~{vs32},~{vs33},~{vs34},~{vs35},~{vs36},~{vs37},~{vs38},~{vs39},~{vs40},~{vs41},~{vs42},~{vs43},~{vs44},~{vs45},~{vs46},~{vs47},~{vs48},~{vs49},~{vs50},~{vs51},~{vs52},~{vs53},~{vs54},~{vs55},~{vs56},~{vs57},~{vs58},~{vs59},~{vs60},~{vs61},~{vs62},~{vs63}"() - %2 = bitcast <256 x i1>* %vp2 to i8* - tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %1, i8* %2) + tail call void @llvm.ppc.vsx.stxvp(<256 x i1> %0, ptr %vp2) ret void } -declare <256 x i1> @llvm.ppc.vsx.lxvp(i8*) #1 +declare <256 x i1> @llvm.ppc.vsx.lxvp(ptr) #1 -declare void @llvm.ppc.vsx.stxvp(<256 x i1>, i8*) #2 +declare void @llvm.ppc.vsx.stxvp(<256 x i1>, ptr) #2 attributes #0 = { nounwind } diff --git a/llvm/test/CodeGen/PowerPC/spill_p9_setb.ll b/llvm/test/CodeGen/PowerPC/spill_p9_setb.ll index 17d1b616..81c43ce 100644 --- a/llvm/test/CodeGen/PowerPC/spill_p9_setb.ll +++ b/llvm/test/CodeGen/PowerPC/spill_p9_setb.ll @@ -35,7 +35,7 @@ entry: br i1 undef, label %if.end, label %if.then if.then: ; preds = %entry - %call = tail call signext i32 bitcast (i32 (...)* @fn_call to i32 ()*)() + %call = tail call signext i32 @fn_call() %cmp1 = icmp ne i32 %call, 0 br label %if.end diff --git a/llvm/test/CodeGen/PowerPC/splat-bug.ll b/llvm/test/CodeGen/PowerPC/splat-bug.ll index 95c44a1..dd17ad8 100644 --- a/llvm/test/CodeGen/PowerPC/splat-bug.ll +++ b/llvm/test/CodeGen/PowerPC/splat-bug.ll @@ -10,7 +10,7 @@ target triple = "powerpc64-unknown-linux-gnu" define void @foo() nounwind ssp { ; CHECK: foo: - store <16 x i8> , <16 x i8>* @a + store <16 x i8> , ptr @a ; CHECK: vspltish [[REG:[0-9]+]], 8 ; CHECK: vadduhm {{[0-9]+}}, [[REG]], [[REG]] ret void diff --git a/llvm/test/CodeGen/PowerPC/split-index-tc.ll b/llvm/test/CodeGen/PowerPC/split-index-tc.ll index 2e95568..e332428 100644 --- a/llvm/test/CodeGen/PowerPC/split-index-tc.ll +++ b/llvm/test/CodeGen/PowerPC/split-index-tc.ll @@ -2,7 +2,7 @@ target datalayout = "E-m:e-i64:64-n32:64" target triple = "powerpc64-unknown-linux-gnu" -%"class.llvm::MachineOperand" = type { i8, [3 x i8], i64, i64*, i64 } +%"class.llvm::MachineOperand" = type { i8, [3 x i8], i64, ptr, i64 } ; Function Attrs: nounwind define void @_ZN4llvm17ScheduleDAGInstrs14addPhysRegDepsEPNS_5SUnitEj() #0 align 2 { @@ -13,21 +13,20 @@ define void @_ZN4llvm17ScheduleDAGInstrs14addPhysRegDepsEPNS_5SUnitEj() #0 align ; CHECK-NOT: lhzu entry: - %0 = load %"class.llvm::MachineOperand"*, %"class.llvm::MachineOperand"** undef, align 8 + %0 = load ptr, ptr undef, align 8 br i1 undef, label %_ZNK4llvm14MachineOperand6getRegEv.exit, label %cond.false.i123 cond.false.i123: ; preds = %_ZN4llvm12MachineInstr10getOperandEj.exit unreachable _ZNK4llvm14MachineOperand6getRegEv.exit: ; preds = %_ZN4llvm12MachineInstr10getOperandEj.exit - %IsDef.i = getelementptr inbounds %"class.llvm::MachineOperand", %"class.llvm::MachineOperand"* %0, i64 undef, i32 1 - %1 = bitcast [3 x i8]* %IsDef.i to i24* - %bf.load.i = load i24, i24* %1, align 1 - %2 = and i24 %bf.load.i, 128 + %IsDef.i = getelementptr inbounds %"class.llvm::MachineOperand", ptr %0, i64 undef, i32 1 + %bf.load.i = load i24, ptr %IsDef.i, align 1 + %1 = and i24 %bf.load.i, 128 br i1 undef, label %for.cond.cleanup, label %for.body.lr.ph for.body.lr.ph: ; preds = %_ZNK4llvm14MachineOperand6getRegEv.exit - %3 = zext i24 %2 to i32 + %2 = zext i24 %1 to i32 br i1 undef, label %cond.false.i134, label %_ZNK4llvm18MCRegAliasIteratordeEv.exit for.cond.cleanup: ; preds = %_ZNK4llvm14MachineOperand6getRegEv.exit @@ -61,7 +60,7 @@ cond.false.i257: ; preds = %if.end55 unreachable _ZNK4llvm14MachineOperand6isDeadEv.exit262: ; preds = %if.end55 - %bf.load.i259 = load i24, i24* %1, align 1 + %bf.load.i259 = load i24, ptr %IsDef.i, align 1 br i1 undef, label %if.then57, label %if.else59 if.then57: ; preds = %_ZNK4llvm14MachineOperand6isDeadEv.exit262 diff --git a/llvm/test/CodeGen/PowerPC/splitstore-check-volatile.ll b/llvm/test/CodeGen/PowerPC/splitstore-check-volatile.ll index b93080e..271e1e3 100644 --- a/llvm/test/CodeGen/PowerPC/splitstore-check-volatile.ll +++ b/llvm/test/CodeGen/PowerPC/splitstore-check-volatile.ll @@ -2,9 +2,9 @@ ; ; RUN: opt -S -mtriple=powerpc64le -codegenprepare -force-split-store < %s | FileCheck %s -define void @fun(i16* %Src, i16* %Dst) { -; CHECK: store volatile i16 %8, i16* %Dst - %1 = load i16, i16* %Src +define void @fun(ptr %Src, ptr %Dst) { +; CHECK: store volatile i16 %8, ptr %Dst + %1 = load i16, ptr %Src %2 = trunc i16 %1 to i8 %3 = lshr i16 %1, 8 %4 = trunc i16 %3 to i8 @@ -12,6 +12,6 @@ define void @fun(i16* %Src, i16* %Dst) { %6 = zext i8 %4 to i16 %7 = shl nuw i16 %6, 8 %8 = or i16 %7, %5 - store volatile i16 %8, i16* %Dst + store volatile i16 %8, ptr %Dst ret void } diff --git a/llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll b/llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll index dcd4dda..5f605e9 100644 --- a/llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll +++ b/llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll @@ -142,9 +142,9 @@ define i32 @foo(i32 %n) local_unnamed_addr #0 "stack-probe-size"="32768" nounwin ; CHECK-32-NEXT: mr r31, r0 ; CHECK-32-NEXT: blr %a = alloca i32, i32 %n, align 16 - %b = getelementptr inbounds i32, i32* %a, i64 1198 - store volatile i32 1, i32* %b - %c = load volatile i32, i32* %a + %b = getelementptr inbounds i32, ptr %a, i64 1198 + store volatile i32 1, ptr %b + %c = load volatile i32, ptr %a ret i32 %c } @@ -288,9 +288,9 @@ define i32 @bar(i32 %n) local_unnamed_addr #0 nounwind { ; CHECK-32-NEXT: blr %a = alloca i32, i32 %n, align 16 %i = add i32 %n, 1024 - %b = getelementptr inbounds i32, i32* %a, i32 %i - store volatile i32 1, i32* %b - %c = load volatile i32, i32* %a + %b = getelementptr inbounds i32, ptr %a, i32 %i + store volatile i32 1, ptr %b + %c = load volatile i32, ptr %a ret i32 %c } @@ -428,9 +428,9 @@ define i32 @f(i32 %n) local_unnamed_addr #0 "stack-probe-size"="65536" nounwind ; CHECK-32-NEXT: mr r31, r0 ; CHECK-32-NEXT: blr %a = alloca i32, i32 %n, align 16 - %b = getelementptr inbounds i32, i32* %a, i64 1198 - store volatile i32 1, i32* %b - %c = load volatile i32, i32* %a + %b = getelementptr inbounds i32, ptr %a, i64 1198 + store volatile i32 1, ptr %b + %c = load volatile i32, ptr %a ret i32 %c } diff --git a/llvm/test/CodeGen/PowerPC/stack-clash-prologue-nounwind.ll b/llvm/test/CodeGen/PowerPC/stack-clash-prologue-nounwind.ll index 4a8de76..369d680 100644 --- a/llvm/test/CodeGen/PowerPC/stack-clash-prologue-nounwind.ll +++ b/llvm/test/CodeGen/PowerPC/stack-clash-prologue-nounwind.ll @@ -35,9 +35,9 @@ define i8 @f0() #0 nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 64 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -93,9 +93,9 @@ define i8 @f1() #0 "stack-probe-size"="0" nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 4096 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -157,9 +157,9 @@ define i8 @f2() #0 nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 65536 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -206,9 +206,9 @@ define i8 @f3() #0 "stack-probe-size"="32768" nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 65536 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -252,9 +252,9 @@ define i8 @f4() nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 65536 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -322,9 +322,9 @@ define i8 @f5() #0 "stack-probe-size"="65536" nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 1048576 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -389,9 +389,9 @@ define i8 @f6() #0 nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 1073741824 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -465,9 +465,9 @@ define i8 @f7() #0 "stack-probe-size"="65536" nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 1000000007 - %b = getelementptr inbounds i8, i8* %a, i64 101 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 101 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } diff --git a/llvm/test/CodeGen/PowerPC/stack-clash-prologue.ll b/llvm/test/CodeGen/PowerPC/stack-clash-prologue.ll index 7e4556c..58d7e7d 100644 --- a/llvm/test/CodeGen/PowerPC/stack-clash-prologue.ll +++ b/llvm/test/CodeGen/PowerPC/stack-clash-prologue.ll @@ -35,9 +35,9 @@ define i8 @f0() #0 nounwind { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 64 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -102,9 +102,9 @@ define i8 @f1() #0 "stack-probe-size"="0" { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 4096 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -175,9 +175,9 @@ define i8 @f2() #0 { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 65536 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -233,9 +233,9 @@ define i8 @f3() #0 "stack-probe-size"="32768" { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 65536 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -282,9 +282,9 @@ define i8 @f4() { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 65536 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -361,9 +361,9 @@ define i8 @f5() #0 "stack-probe-size"="65536" { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 1048576 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -437,9 +437,9 @@ define i8 @f6() #0 { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 1073741824 - %b = getelementptr inbounds i8, i8* %a, i64 63 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 63 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -522,9 +522,9 @@ define i8 @f7() #0 "stack-probe-size"="65536" { ; CHECK-32-NEXT: blr entry: %a = alloca i8, i64 1000000007 - %b = getelementptr inbounds i8, i8* %a, i64 101 - store volatile i8 3, i8* %a - %c = load volatile i8, i8* %a + %b = getelementptr inbounds i8, ptr %a, i64 101 + store volatile i8 3, ptr %a + %c = load volatile i8, ptr %a ret i8 %c } @@ -589,9 +589,9 @@ define i32 @f8(i64 %i) local_unnamed_addr #0 { ; CHECK-32-NEXT: mr r31, r0 ; CHECK-32-NEXT: blr %a = alloca i32, i32 200, align 64 - %b = getelementptr inbounds i32, i32* %a, i64 %i - store volatile i32 1, i32* %b - %c = load volatile i32, i32* %a + %b = getelementptr inbounds i32, ptr %a, i64 %i + store volatile i32 1, ptr %b + %c = load volatile i32, ptr %a ret i32 %c } @@ -696,9 +696,9 @@ define i32 @f9(i64 %i) local_unnamed_addr #0 { ; CHECK-32-NEXT: mr r31, r0 ; CHECK-32-NEXT: blr %a = alloca i32, i32 2000, align 2048 - %b = getelementptr inbounds i32, i32* %a, i64 %i - store volatile i32 1, i32* %b - %c = load volatile i32, i32* %a + %b = getelementptr inbounds i32, ptr %a, i64 %i + store volatile i32 1, ptr %b + %c = load volatile i32, ptr %a ret i32 %c } @@ -803,9 +803,9 @@ define i32 @f10(i64 %i) local_unnamed_addr #0 { ; CHECK-32-NEXT: mr r31, r0 ; CHECK-32-NEXT: blr %a = alloca i32, i32 1000, align 1024 - %b = getelementptr inbounds i32, i32* %a, i64 %i - store volatile i32 1, i32* %b - %c = load volatile i32, i32* %a + %b = getelementptr inbounds i32, ptr %a, i64 %i + store volatile i32 1, ptr %b + %c = load volatile i32, ptr %a ret i32 %c } @@ -997,11 +997,11 @@ define void @f11(i32 %vla_size, i64 %i) #0 { ; CHECK-32-NEXT: mr r31, r0 ; CHECK-32-NEXT: blr %a = alloca i32, i32 4096, align 32768 - %b = getelementptr inbounds i32, i32* %a, i64 %i - store volatile i32 1, i32* %b + %b = getelementptr inbounds i32, ptr %a, i64 %i + store volatile i32 1, ptr %b %1 = zext i32 %vla_size to i64 %vla = alloca i8, i64 %1, align 2048 - %2 = load volatile i8, i8* %vla, align 2048 + %2 = load volatile i8, ptr %vla, align 2048 ret void } diff --git a/llvm/test/CodeGen/PowerPC/stack-guard-oob.ll b/llvm/test/CodeGen/PowerPC/stack-guard-oob.ll index 182d037..f00f846 100644 --- a/llvm/test/CodeGen/PowerPC/stack-guard-oob.ll +++ b/llvm/test/CodeGen/PowerPC/stack-guard-oob.ll @@ -7,9 +7,8 @@ ; AIX-NOT: __ssp_canary_word define i32 @in_bounds() #0 { %var = alloca i32, align 4 - store i32 0, i32* %var, align 4 - %gep = getelementptr inbounds i32, i32* %var, i32 0 - %ret = load i32, i32* %gep, align 4 + store i32 0, ptr %var, align 4 + %ret = load i32, ptr %var, align 4 ret i32 %ret } @@ -18,9 +17,9 @@ define i32 @in_bounds() #0 { ; AIX: __ssp_canary_word define i32 @constant_out_of_bounds() #0 { %var = alloca i32, align 4 - store i32 0, i32* %var, align 4 - %gep = getelementptr inbounds i32, i32* %var, i32 1 - %ret = load i32, i32* %gep, align 4 + store i32 0, ptr %var, align 4 + %gep = getelementptr inbounds i32, ptr %var, i32 1 + %ret = load i32, ptr %gep, align 4 ret i32 %ret } @@ -29,9 +28,9 @@ define i32 @constant_out_of_bounds() #0 { ; AIX: __ssp_canary_word define i32 @nonconstant_out_of_bounds(i32 %n) #0 { %var = alloca i32, align 4 - store i32 0, i32* %var, align 4 - %gep = getelementptr inbounds i32, i32* %var, i32 %n - %ret = load i32, i32* %gep, align 4 + store i32 0, ptr %var, align 4 + %gep = getelementptr inbounds i32, ptr %var, i32 %n + %ret = load i32, ptr %gep, align 4 ret i32 %ret } @@ -42,8 +41,8 @@ define i32 @phi_before_gep_in_bounds(i32 %k) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %then @@ -51,9 +50,8 @@ if: br label %then then: - %ptr = phi i32* [ %var1, %entry ], [ %var2, %if ] - %gep = getelementptr inbounds i32, i32* %ptr, i32 0 - %ret = load i32, i32* %gep, align 4 + %ptr = phi ptr [ %var1, %entry ], [ %var2, %if ] + %ret = load i32, ptr %ptr, align 4 ret i32 %ret } @@ -64,8 +62,8 @@ define i32 @phi_before_gep_constant_out_of_bounds(i32 %k) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %then @@ -73,9 +71,9 @@ if: br label %then then: - %ptr = phi i32* [ %var1, %entry ], [ %var2, %if ] - %gep = getelementptr inbounds i32, i32* %ptr, i32 1 - %ret = load i32, i32* %gep, align 4 + %ptr = phi ptr [ %var1, %entry ], [ %var2, %if ] + %gep = getelementptr inbounds i32, ptr %ptr, i32 1 + %ret = load i32, ptr %gep, align 4 ret i32 %ret } @@ -86,8 +84,8 @@ define i32 @phi_before_gep_nonconstant_out_of_bounds(i32 %k, i32 %n) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %then @@ -95,9 +93,9 @@ if: br label %then then: - %ptr = phi i32* [ %var1, %entry ], [ %var2, %if ] - %gep = getelementptr inbounds i32, i32* %ptr, i32 %n - %ret = load i32, i32* %gep, align 4 + %ptr = phi ptr [ %var1, %entry ], [ %var2, %if ] + %gep = getelementptr inbounds i32, ptr %ptr, i32 %n + %ret = load i32, ptr %gep, align 4 ret i32 %ret } @@ -108,22 +106,20 @@ define i32 @phi_after_gep_in_bounds(i32 %k) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %else if: - %gep1 = getelementptr inbounds i32, i32* %var1, i32 0 br label %then else: - %gep2 = getelementptr inbounds i32, i32* %var2, i32 0 br label %then then: - %ptr = phi i32* [ %gep1, %if ], [ %gep2, %else ] - %ret = load i32, i32* %ptr, align 4 + %ptr = phi ptr [ %var1, %if ], [ %var2, %else ] + %ret = load i32, ptr %ptr, align 4 ret i32 %ret } @@ -134,22 +130,21 @@ define i32 @phi_after_gep_constant_out_of_bounds_a(i32 %k) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %else if: - %gep1 = getelementptr inbounds i32, i32* %var1, i32 0 br label %then else: - %gep2 = getelementptr inbounds i32, i32* %var2, i32 1 + %gep2 = getelementptr inbounds i32, ptr %var2, i32 1 br label %then then: - %ptr = phi i32* [ %gep1, %if ], [ %gep2, %else ] - %ret = load i32, i32* %ptr, align 4 + %ptr = phi ptr [ %var1, %if ], [ %gep2, %else ] + %ret = load i32, ptr %ptr, align 4 ret i32 %ret } @@ -160,22 +155,21 @@ define i32 @phi_after_gep_constant_out_of_bounds_b(i32 %k) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %else if: - %gep1 = getelementptr inbounds i32, i32* %var1, i32 1 + %gep1 = getelementptr inbounds i32, ptr %var1, i32 1 br label %then else: - %gep2 = getelementptr inbounds i32, i32* %var2, i32 0 br label %then then: - %ptr = phi i32* [ %gep1, %if ], [ %gep2, %else ] - %ret = load i32, i32* %ptr, align 4 + %ptr = phi ptr [ %gep1, %if ], [ %var2, %else ] + %ret = load i32, ptr %ptr, align 4 ret i32 %ret } @@ -186,18 +180,17 @@ define i64 @phi_different_types_a(i32 %k) #0 { entry: %var1 = alloca i64, align 4 %var2 = alloca i32, align 4 - store i64 0, i64* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i64 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %then if: - %bitcast = bitcast i32* %var2 to i64* br label %then then: - %ptr = phi i64* [ %var1, %entry ], [ %bitcast, %if ] - %ret = load i64, i64* %ptr, align 4 + %ptr = phi ptr [ %var1, %entry ], [ %var2, %if ] + %ret = load i64, ptr %ptr, align 4 ret i64 %ret } @@ -208,18 +201,17 @@ define i64 @phi_different_types_b(i32 %k) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i64, align 4 - store i32 0, i32* %var1, align 4 - store i64 0, i64* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i64 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %then if: - %bitcast = bitcast i32* %var1 to i64* br label %then then: - %ptr = phi i64* [ %var2, %entry ], [ %bitcast, %if ] - %ret = load i64, i64* %ptr, align 4 + %ptr = phi ptr [ %var2, %entry ], [ %var1, %if ] + %ret = load i64, ptr %ptr, align 4 ret i64 %ret } @@ -230,22 +222,21 @@ define i32 @phi_after_gep_nonconstant_out_of_bounds_a(i32 %k, i32 %n) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %else if: - %gep1 = getelementptr inbounds i32, i32* %var1, i32 0 br label %then else: - %gep2 = getelementptr inbounds i32, i32* %var2, i32 %n + %gep2 = getelementptr inbounds i32, ptr %var2, i32 %n br label %then then: - %ptr = phi i32* [ %gep1, %if ], [ %gep2, %else ] - %ret = load i32, i32* %ptr, align 4 + %ptr = phi ptr [ %var1, %if ], [ %gep2, %else ] + %ret = load i32, ptr %ptr, align 4 ret i32 %ret } @@ -256,22 +247,21 @@ define i32 @phi_after_gep_nonconstant_out_of_bounds_b(i32 %k, i32 %n) #0 { entry: %var1 = alloca i32, align 4 %var2 = alloca i32, align 4 - store i32 0, i32* %var1, align 4 - store i32 0, i32* %var2, align 4 + store i32 0, ptr %var1, align 4 + store i32 0, ptr %var2, align 4 %cmp = icmp ne i32 %k, 0 br i1 %cmp, label %if, label %else if: - %gep1 = getelementptr inbounds i32, i32* %var1, i32 %n + %gep1 = getelementptr inbounds i32, ptr %var1, i32 %n br label %then else: - %gep2 = getelementptr inbounds i32, i32* %var2, i32 0 br label %then then: - %ptr = phi i32* [ %gep1, %if ], [ %gep2, %else ] - %ret = load i32, i32* %ptr, align 4 + %ptr = phi ptr [ %gep1, %if ], [ %var2, %else ] + %ret = load i32, ptr %ptr, align 4 ret i32 %ret } @@ -283,9 +273,9 @@ then: ; AIX-NOT: __ssp_canary_word define void @struct_in_bounds() #0 { %var = alloca %struct.outer, align 4 - %outergep = getelementptr inbounds %struct.outer, %struct.outer* %var, i32 0, i32 1 - %innergep = getelementptr inbounds %struct.inner, %struct.inner* %outergep, i32 0, i32 1 - store i32 0, i32* %innergep, align 4 + %outergep = getelementptr inbounds %struct.outer, ptr %var, i32 0, i32 1 + %innergep = getelementptr inbounds %struct.inner, ptr %outergep, i32 0, i32 1 + store i32 0, ptr %innergep, align 4 ret void } @@ -294,9 +284,8 @@ define void @struct_in_bounds() #0 { ; AIX: __ssp_canary_word define void @struct_constant_out_of_bounds_a() #0 { %var = alloca %struct.outer, align 4 - %outergep = getelementptr inbounds %struct.outer, %struct.outer* %var, i32 1, i32 0 - %innergep = getelementptr inbounds %struct.inner, %struct.inner* %outergep, i32 0, i32 0 - store i32 0, i32* %innergep, align 4 + %outergep = getelementptr inbounds %struct.outer, ptr %var, i32 1, i32 0 + store i32 0, ptr %outergep, align 4 ret void } @@ -307,9 +296,8 @@ define void @struct_constant_out_of_bounds_a() #0 { ; AIX-NOT: __ssp_canary_word define void @struct_constant_out_of_bounds_b() #0 { %var = alloca %struct.outer, align 4 - %outergep = getelementptr inbounds %struct.outer, %struct.outer* %var, i32 0, i32 0 - %innergep = getelementptr inbounds %struct.inner, %struct.inner* %outergep, i32 1, i32 0 - store i32 0, i32* %innergep, align 4 + %innergep = getelementptr inbounds %struct.inner, ptr %var, i32 1, i32 0 + store i32 0, ptr %innergep, align 4 ret void } @@ -319,9 +307,9 @@ define void @struct_constant_out_of_bounds_b() #0 { ; AIX: __ssp_canary_word define void @struct_constant_out_of_bounds_c() #0 { %var = alloca %struct.outer, align 4 - %outergep = getelementptr inbounds %struct.outer, %struct.outer* %var, i32 0, i32 1 - %innergep = getelementptr inbounds %struct.inner, %struct.inner* %outergep, i32 1, i32 0 - store i32 0, i32* %innergep, align 4 + %outergep = getelementptr inbounds %struct.outer, ptr %var, i32 0, i32 1 + %innergep = getelementptr inbounds %struct.inner, ptr %outergep, i32 1, i32 0 + store i32 0, ptr %innergep, align 4 ret void } @@ -330,9 +318,8 @@ define void @struct_constant_out_of_bounds_c() #0 { ; AIX: __ssp_canary_word define void @struct_nonconstant_out_of_bounds_a(i32 %n) #0 { %var = alloca %struct.outer, align 4 - %outergep = getelementptr inbounds %struct.outer, %struct.outer* %var, i32 %n, i32 0 - %innergep = getelementptr inbounds %struct.inner, %struct.inner* %outergep, i32 0, i32 0 - store i32 0, i32* %innergep, align 4 + %outergep = getelementptr inbounds %struct.outer, ptr %var, i32 %n, i32 0 + store i32 0, ptr %outergep, align 4 ret void } @@ -341,9 +328,8 @@ define void @struct_nonconstant_out_of_bounds_a(i32 %n) #0 { ; AIX: __ssp_canary_word define void @struct_nonconstant_out_of_bounds_b(i32 %n) #0 { %var = alloca %struct.outer, align 4 - %outergep = getelementptr inbounds %struct.outer, %struct.outer* %var, i32 0, i32 0 - %innergep = getelementptr inbounds %struct.inner, %struct.inner* %outergep, i32 %n, i32 0 - store i32 0, i32* %innergep, align 4 + %innergep = getelementptr inbounds %struct.inner, ptr %var, i32 %n, i32 0 + store i32 0, ptr %innergep, align 4 ret void } @@ -352,9 +338,8 @@ define void @struct_nonconstant_out_of_bounds_b(i32 %n) #0 { ; AIX-NOT: __ssp_canary_word define i32 @bitcast_smaller_load() #0 { %var = alloca i64, align 4 - store i64 0, i64* %var, align 4 - %bitcast = bitcast i64* %var to i32* - %ret = load i32, i32* %bitcast, align 4 + store i64 0, ptr %var, align 4 + %ret = load i32, ptr %var, align 4 ret i32 %ret } @@ -363,10 +348,9 @@ define i32 @bitcast_smaller_load() #0 { ; AIX-NOT: __ssp_canary_word define i32 @bitcast_same_size_load() #0 { %var = alloca i64, align 4 - store i64 0, i64* %var, align 4 - %bitcast = bitcast i64* %var to %struct.inner* - %gep = getelementptr inbounds %struct.inner, %struct.inner* %bitcast, i32 0, i32 1 - %ret = load i32, i32* %gep, align 4 + store i64 0, ptr %var, align 4 + %gep = getelementptr inbounds %struct.inner, ptr %var, i32 0, i32 1 + %ret = load i32, ptr %gep, align 4 ret i32 %ret } @@ -375,9 +359,8 @@ define i32 @bitcast_same_size_load() #0 { ; AIX: __ssp_canary_word define i64 @bitcast_larger_load() #0 { %var = alloca i32, align 4 - store i32 0, i32* %var, align 4 - %bitcast = bitcast i32* %var to i64* - %ret = load i64, i64* %bitcast, align 4 + store i32 0, ptr %var, align 4 + %ret = load i64, ptr %var, align 4 ret i64 %ret } @@ -386,9 +369,8 @@ define i64 @bitcast_larger_load() #0 { ; AIX: __ssp_canary_word define i32 @bitcast_larger_store() #0 { %var = alloca i32, align 4 - %bitcast = bitcast i32* %var to i64* - store i64 0, i64* %bitcast, align 4 - %ret = load i32, i32* %var, align 4 + store i64 0, ptr %var, align 4 + %ret = load i32, ptr %var, align 4 ret i32 %ret } @@ -397,8 +379,7 @@ define i32 @bitcast_larger_store() #0 { ; AIX: __ssp_canary_word define i64 @bitcast_larger_cmpxchg(i64 %desired, i64 %new) #0 { %var = alloca i32, align 4 - %bitcast = bitcast i32* %var to i64* - %pair = cmpxchg i64* %bitcast, i64 %desired, i64 %new seq_cst monotonic + %pair = cmpxchg ptr %var, i64 %desired, i64 %new seq_cst monotonic %ret = extractvalue { i64, i1 } %pair, 0 ret i64 %ret } @@ -408,8 +389,7 @@ define i64 @bitcast_larger_cmpxchg(i64 %desired, i64 %new) #0 { ; AIX: __ssp_canary_word define i64 @bitcast_larger_atomic_rmw() #0 { %var = alloca i32, align 4 - %bitcast = bitcast i32* %var to i64* - %ret = atomicrmw add i64* %bitcast, i64 1 monotonic + %ret = atomicrmw add ptr %var, i64 1 monotonic ret i64 %ret } @@ -420,9 +400,8 @@ define i64 @bitcast_larger_atomic_rmw() #0 { ; AIX: __ssp_canary_word define i32 @bitcast_overlap() #0 { %var = alloca i32, align 4 - %bitcast = bitcast i32* %var to %struct.packed* - %gep = getelementptr inbounds %struct.packed, %struct.packed* %bitcast, i32 0, i32 1 - %ret = load i32, i32* %gep, align 2 + %gep = getelementptr inbounds %struct.packed, ptr %var, i32 0, i32 1 + %ret = load i32, ptr %gep, align 2 ret i32 %ret } @@ -433,10 +412,9 @@ define i32 @bitcast_overlap() #0 { ; AIX: __ssp_canary_word define i32 @multi_dimensional_array() #0 { %var = alloca %struct.multi_dimensional, align 4 - %gep1 = getelementptr inbounds %struct.multi_dimensional, %struct.multi_dimensional* %var, i32 0, i32 0 - %gep2 = getelementptr inbounds [10 x [10 x i32]], [10 x [10 x i32]]* %gep1, i32 0, i32 10 - %gep3 = getelementptr inbounds [10 x i32], [10 x i32]* %gep2, i32 0, i32 5 - %ret = load i32, i32* %gep3, align 4 + %gep2 = getelementptr inbounds [10 x [10 x i32]], ptr %var, i32 0, i32 10 + %gep3 = getelementptr inbounds [10 x i32], ptr %gep2, i32 0, i32 5 + %ret = load i32, ptr %gep3, align 4 ret i32 %ret } diff --git a/llvm/test/CodeGen/PowerPC/stack-no-redzone.ll b/llvm/test/CodeGen/PowerPC/stack-no-redzone.ll index 66ef91b..780836e 100644 --- a/llvm/test/CodeGen/PowerPC/stack-no-redzone.ll +++ b/llvm/test/CodeGen/PowerPC/stack-no-redzone.ll @@ -27,7 +27,7 @@ ; CHECK-NOT: lwz {{[0-9]+}}, -{{[0-9]+}}(1) define i32 @test_n() local_unnamed_addr #0 { entry: - %t0 = tail call i32 bitcast (i32 (...)* @bar0 to i32 ()*)() #0 + %t0 = tail call i32 @bar0() #0 ret i32 %t0 } @@ -42,7 +42,7 @@ entry: define i32 @test_a() local_unnamed_addr #0 { entry: %t0 = alloca i32, align 128 - %t1 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t0) #0 + %t1 = tail call i32 @bar1(ptr %t0) #0 ret i32 %t1 } @@ -55,7 +55,7 @@ entry: ; CHECK-NOT: lwz {{[0-9]+}}, -{{[0-9]+}}(1) define i32 @test_d(i32 %p0) local_unnamed_addr #0 { %t0 = alloca i32, i32 %p0, align 4 - %t1 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t0) #0 + %t1 = tail call i32 @bar1(ptr %t0) #0 ret i32 %t1 } @@ -68,8 +68,7 @@ define i32 @test_d(i32 %p0) local_unnamed_addr #0 { define i32 @test_s(i32 %p0) local_unnamed_addr #0 { entry: %t0 = alloca [16384 x i32] - %t1 = getelementptr [16384 x i32], [16384 x i32]* %t0, i32 0, i32 0 - %t2 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t1) #0 + %t2 = tail call i32 @bar1(ptr %t0) #0 ret i32 %t2 } @@ -83,8 +82,8 @@ entry: define i32 @test_ad(i32 %p0) local_unnamed_addr #0 { %t0 = alloca i32, align 128 %t1 = alloca i32, i32 %p0, align 4 - %t2 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t0) #0 - %t3 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t1) #0 + %t2 = tail call i32 @bar1(ptr %t0) #0 + %t3 = tail call i32 @bar1(ptr %t1) #0 %t4 = add i32 %t2, %t3 ret i32 %t4 } @@ -97,9 +96,8 @@ define i32 @test_ad(i32 %p0) local_unnamed_addr #0 { define i32 @test_as() local_unnamed_addr #0 { %t0 = alloca i32, align 128 %t1 = alloca [16384 x i32] - %t2 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t0) #0 - %t3 = getelementptr [16384 x i32], [16384 x i32]* %t1, i32 0, i32 0 - %t4 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t3) #0 + %t2 = tail call i32 @bar1(ptr %t0) #0 + %t4 = tail call i32 @bar1(ptr %t1) #0 %t5 = add i32 %t2, %t4 ret i32 %t5 } @@ -112,9 +110,8 @@ define i32 @test_as() local_unnamed_addr #0 { define i32 @test_ds(i32 %p0) local_unnamed_addr #0 { %t0 = alloca i32, i32 %p0, align 4 %t1 = alloca [16384 x i32] - %t2 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t0) #0 - %t3 = getelementptr [16384 x i32], [16384 x i32]* %t1, i32 0, i32 0 - %t4 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t3) #0 + %t2 = tail call i32 @bar1(ptr %t0) #0 + %t4 = tail call i32 @bar1(ptr %t1) #0 %t5 = add i32 %t2, %t4 ret i32 %t5 } @@ -129,12 +126,11 @@ define i32 @test_ads(i32 %p0) local_unnamed_addr #0 { %t1 = alloca i32, i32 %p0, align 4 %t2 = alloca [16384 x i32] - %t3 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t0) #0 - %t4 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t1) #0 + %t3 = tail call i32 @bar1(ptr %t0) #0 + %t4 = tail call i32 @bar1(ptr %t1) #0 %t5 = add i32 %t3, %t4 - %t6 = getelementptr [16384 x i32], [16384 x i32]* %t2, i32 0, i32 0 - %t7 = tail call i32 bitcast (i32 (...)* @bar1 to i32 (i32*)*)(i32* %t6) #0 + %t7 = tail call i32 @bar1(ptr %t2) #0 %t8 = add i32 %t5, %t7 ret i32 %t7 } diff --git a/llvm/test/CodeGen/PowerPC/stack-protector.ll b/llvm/test/CodeGen/PowerPC/stack-protector.ll index 0c59bb7..dc20d94 100644 --- a/llvm/test/CodeGen/PowerPC/stack-protector.ll +++ b/llvm/test/CodeGen/PowerPC/stack-protector.ll @@ -22,25 +22,23 @@ ; FREEBSD32: bl __stack_chk_fail ; FREEBSD64: bl __stack_chk_fail -@"\01LC" = internal constant [11 x i8] c"buf == %s\0A\00" ; <[11 x i8]*> [#uses=1] +@"\01LC" = internal constant [11 x i8] c"buf == %s\0A\00" ; [#uses=1] -define void @test(i8* %a) nounwind ssp { +define void @test(ptr %a) nounwind ssp { entry: - %a_addr = alloca i8* ; [#uses=2] - %buf = alloca [8 x i8] ; <[8 x i8]*> [#uses=2] + %a_addr = alloca ptr ; [#uses=2] + %buf = alloca [8 x i8] ; [#uses=2] %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] - store i8* %a, i8** %a_addr - %buf1 = bitcast [8 x i8]* %buf to i8* ; [#uses=1] - %0 = load i8*, i8** %a_addr, align 4 ; [#uses=1] - %1 = call i8* @strcpy(i8* %buf1, i8* %0) nounwind ; [#uses=0] - %buf2 = bitcast [8 x i8]* %buf to i8* ; [#uses=1] - %2 = call i32 (i8*, ...) @printf(i8* getelementptr ([11 x i8], [11 x i8]* @"\01LC", i32 0, i32 0), i8* %buf2) nounwind ; [#uses=0] + store ptr %a, ptr %a_addr + %0 = load ptr, ptr %a_addr, align 4 ; [#uses=1] + %1 = call ptr @strcpy(ptr %buf, ptr %0) nounwind ; [#uses=0] + %2 = call i32 (ptr, ...) @printf(ptr @"\01LC", ptr %buf) nounwind ; [#uses=0] br label %return return: ; preds = %entry ret void } -declare i8* @strcpy(i8*, i8*) nounwind +declare ptr @strcpy(ptr, ptr) nounwind -declare i32 @printf(i8*, ...) nounwind +declare i32 @printf(ptr, ...) nounwind diff --git a/llvm/test/CodeGen/PowerPC/stack-realign.ll b/llvm/test/CodeGen/PowerPC/stack-realign.ll index 8638592..bccdc12 100644 --- a/llvm/test/CodeGen/PowerPC/stack-realign.ll +++ b/llvm/test/CodeGen/PowerPC/stack-realign.ll @@ -7,23 +7,21 @@ target triple = "powerpc64-unknown-linux-gnu" %struct.s = type { i32, i32 } -declare void @bar(i32*) +declare void @bar(ptr) @barbaz = external global i32 -define void @goo(%struct.s* byval(%struct.s) nocapture readonly %a) { +define void @goo(ptr byval(%struct.s) nocapture readonly %a) { entry: %x = alloca [2 x i32], align 32 - %a1 = getelementptr inbounds %struct.s, %struct.s* %a, i64 0, i32 0 - %0 = load i32, i32* %a1, align 4 - %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %x, i64 0, i64 0 - store i32 %0, i32* %arrayidx, align 32 - %b = getelementptr inbounds %struct.s, %struct.s* %a, i64 0, i32 1 - %1 = load i32, i32* %b, align 4 - %2 = load i32, i32* @barbaz, align 4 - %arrayidx2 = getelementptr inbounds [2 x i32], [2 x i32]* %x, i64 0, i64 1 - store i32 %2, i32* %arrayidx2, align 4 - call void @bar(i32* %arrayidx) + %0 = load i32, ptr %a, align 4 + store i32 %0, ptr %x, align 32 + %b = getelementptr inbounds %struct.s, ptr %a, i64 0, i32 1 + %1 = load i32, ptr %b, align 4 + %2 = load i32, ptr @barbaz, align 4 + %arrayidx2 = getelementptr inbounds [2 x i32], ptr %x, i64 0, i64 1 + store i32 %2, ptr %arrayidx2, align 4 + call void @bar(ptr %x) ret void } @@ -105,18 +103,16 @@ entry: ; CHECK-32-PIC: addic 29, 0, 12 ; The large-frame-size case. -define void @hoo(%struct.s* byval(%struct.s) nocapture readonly %a) { +define void @hoo(ptr byval(%struct.s) nocapture readonly %a) { entry: %x = alloca [200000 x i32], align 32 - %a1 = getelementptr inbounds %struct.s, %struct.s* %a, i64 0, i32 0 - %0 = load i32, i32* %a1, align 4 - %arrayidx = getelementptr inbounds [200000 x i32], [200000 x i32]* %x, i64 0, i64 0 - store i32 %0, i32* %arrayidx, align 32 - %b = getelementptr inbounds %struct.s, %struct.s* %a, i64 0, i32 1 - %1 = load i32, i32* %b, align 4 - %arrayidx2 = getelementptr inbounds [200000 x i32], [200000 x i32]* %x, i64 0, i64 1 - store i32 %1, i32* %arrayidx2, align 4 - call void @bar(i32* %arrayidx) + %0 = load i32, ptr %a, align 4 + store i32 %0, ptr %x, align 32 + %b = getelementptr inbounds %struct.s, ptr %a, i64 0, i32 1 + %1 = load i32, ptr %b, align 4 + %arrayidx2 = getelementptr inbounds [200000 x i32], ptr %x, i64 0, i64 1 + store i32 %1, ptr %arrayidx2, align 4 + call void @bar(ptr %x) ret void } @@ -174,18 +170,16 @@ entry: ; Make sure that the FP save area is still allocated correctly relative to ; where r30 is saved. -define void @loo(%struct.s* byval(%struct.s) nocapture readonly %a) { +define void @loo(ptr byval(%struct.s) nocapture readonly %a) { entry: %x = alloca [2 x i32], align 32 - %a1 = getelementptr inbounds %struct.s, %struct.s* %a, i64 0, i32 0 - %0 = load i32, i32* %a1, align 4 - %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %x, i64 0, i64 0 - store i32 %0, i32* %arrayidx, align 32 - %b = getelementptr inbounds %struct.s, %struct.s* %a, i64 0, i32 1 - %1 = load i32, i32* %b, align 4 - %arrayidx2 = getelementptr inbounds [2 x i32], [2 x i32]* %x, i64 0, i64 1 - store i32 %1, i32* %arrayidx2, align 4 - call void @bar(i32* %arrayidx) + %0 = load i32, ptr %a, align 4 + store i32 %0, ptr %x, align 32 + %b = getelementptr inbounds %struct.s, ptr %a, i64 0, i32 1 + %1 = load i32, ptr %b, align 4 + %arrayidx2 = getelementptr inbounds [2 x i32], ptr %x, i64 0, i64 1 + store i32 %1, ptr %arrayidx2, align 4 + call void @bar(ptr %x) call void asm sideeffect "", "~{f30}"() nounwind ret void } diff --git a/llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll b/llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll index 50dcffc..30adfdf 100644 --- a/llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll +++ b/llvm/test/CodeGen/PowerPC/stack-restore-with-setjmp.ll @@ -8,7 +8,7 @@ @.str = private unnamed_addr constant [33 x i8] c"Successfully returned from main\0A\00", align 1 ; Function Attrs: nounwind -define dso_local signext i32 @main(i32 signext %argc, i8** nocapture readnone %argv) local_unnamed_addr #0 { +define dso_local signext i32 @main(i32 signext %argc, ptr nocapture readnone %argv) local_unnamed_addr #0 { ; CHECK-LABEL: main: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mfocrf 12, 32 @@ -111,25 +111,22 @@ entry: br i1 %cmp, label %return, label %if.end if.end: ; preds = %entry - %0 = bitcast [1 x %struct.__jmp_buf_tag]* %env_buffer to i8* - call void @llvm.lifetime.start.p0i8(i64 656, i8* nonnull %0) #5 - %arraydecay = getelementptr inbounds [1 x %struct.__jmp_buf_tag], [1 x %struct.__jmp_buf_tag]* %env_buffer, i64 0, i64 0 - %call = call signext i32 @_setjmp(%struct.__jmp_buf_tag* nonnull %arraydecay) #6 + call void @llvm.lifetime.start.p0(i64 656, ptr nonnull %env_buffer) #5 + %call = call signext i32 @_setjmp(ptr nonnull %env_buffer) #6 %cmp1 = icmp ne i32 %argc, 2 %cmp2 = icmp eq i32 %call, 0 %or.cond = and i1 %cmp1, %cmp2 br i1 %or.cond, label %if.then3, label %if.end5 if.then3: ; preds = %if.end - %1 = alloca [8 x i8], align 16 - %.sub = getelementptr inbounds [8 x i8], [8 x i8]* %1, i64 0, i64 0 - store i8 -1, i8* %.sub, align 16 - call void @test(i8* nonnull %.sub, %struct.__jmp_buf_tag* nonnull %arraydecay) #7 + %0 = alloca [8 x i8], align 16 + store i8 -1, ptr %0, align 16 + call void @test(ptr nonnull %0, ptr nonnull %env_buffer) #7 unreachable if.end5: ; preds = %if.end - %call6 = call signext i32 (i8*, ...) @printf(i8* nonnull dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i64 0, i64 0)) - call void @llvm.lifetime.end.p0i8(i64 656, i8* nonnull %0) #5 + %call6 = call signext i32 (ptr, ...) @printf(ptr nonnull dereferenceable(1) @.str) + call void @llvm.lifetime.end.p0(i64 656, ptr nonnull %env_buffer) #5 br label %return return: ; preds = %entry, %if.end5 @@ -138,19 +135,19 @@ return: ; preds = %entry, %if.end5 } ; Function Attrs: argmemonly nofree nosync nounwind willreturn -declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) ; Function Attrs: nounwind returns_twice -declare signext i32 @_setjmp(%struct.__jmp_buf_tag*) local_unnamed_addr +declare signext i32 @_setjmp(ptr) local_unnamed_addr ; Function Attrs: noreturn -declare void @test(i8*, %struct.__jmp_buf_tag*) local_unnamed_addr +declare void @test(ptr, ptr) local_unnamed_addr ; Function Attrs: nofree nounwind -declare noundef signext i32 @printf(i8* nocapture noundef readonly, ...) local_unnamed_addr +declare noundef signext i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr ; Function Attrs: argmemonly nofree nosync nounwind willreturn -declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) attributes #0 = { nounwind } attributes #6 = { nounwind returns_twice } diff --git a/llvm/test/CodeGen/PowerPC/stackmap-frame-setup.ll b/llvm/test/CodeGen/PowerPC/stackmap-frame-setup.ll index b677b8b..bc294dc 100644 --- a/llvm/test/CodeGen/PowerPC/stackmap-frame-setup.ll +++ b/llvm/test/CodeGen/PowerPC/stackmap-frame-setup.ll @@ -4,13 +4,13 @@ define void @caller_meta_leaf() { entry: %metadata = alloca i64, i32 3, align 8 - store i64 11, i64* %metadata - store i64 12, i64* %metadata - store i64 13, i64* %metadata + store i64 11, ptr %metadata + store i64 12, ptr %metadata + store i64 13, ptr %metadata ; ISEL: ADJCALLSTACKDOWN 0, 0, implicit-def ; ISEL-NEXT: STACKMAP ; ISEL-NEXT: ADJCALLSTACKUP 0, 0, implicit-def - call void (i64, i32, ...) @llvm.experimental.stackmap(i64 4, i32 0, i64* %metadata) + call void (i64, i32, ...) @llvm.experimental.stackmap(i64 4, i32 0, ptr %metadata) ; FAST-ISEL: ADJCALLSTACKDOWN 0, 0, implicit-def ; FAST-ISEL-NEXT: STACKMAP ; FAST-ISEL-NEXT: ADJCALLSTACKUP 0, 0, implicit-def diff --git a/llvm/test/CodeGen/PowerPC/std-unal-fi.ll b/llvm/test/CodeGen/PowerPC/std-unal-fi.ll index f68bdbb..b488ddc 100644 --- a/llvm/test/CodeGen/PowerPC/std-unal-fi.ll +++ b/llvm/test/CodeGen/PowerPC/std-unal-fi.ll @@ -9,28 +9,27 @@ BB: br label %CF CF: ; preds = %CF80, %CF, %BB - %L5 = load i64, i64* undef - store i8 %0, i8* %A4 + %L5 = load i64, ptr undef + store i8 %0, ptr %A4 %Shuff7 = shufflevector <16 x i32> , <16 x i32> %Shuff, <16 x i32> - %PC10 = bitcast i8* %A4 to ppc_fp128* br i1 undef, label %CF, label %CF77 CF77: ; preds = %CF81, %CF83, %CF77, %CF br i1 undef, label %CF77, label %CF82 CF82: ; preds = %CF82, %CF77 - %L19 = load i64, i64* undef - store <1 x ppc_fp128> zeroinitializer, <1 x ppc_fp128>* %A - store i8 -65, i8* %A4 + %L19 = load i64, ptr undef + store <1 x ppc_fp128> zeroinitializer, ptr %A + store i8 -65, ptr %A4 br i1 undef, label %CF82, label %CF83 CF83: ; preds = %CF82 - %L34 = load i64, i64* undef + %L34 = load i64, ptr undef br i1 undef, label %CF77, label %CF81 CF81: ; preds = %CF83 %Shuff43 = shufflevector <16 x i32> %Shuff7, <16 x i32> undef, <16 x i32> - store ppc_fp128 0xM00000000000000000000000000000000, ppc_fp128* %PC10 + store ppc_fp128 0xM00000000000000000000000000000000, ptr %A4 br i1 undef, label %CF77, label %CF78 CF78: ; preds = %CF78, %CF81 @@ -40,38 +39,36 @@ CF79: ; preds = %CF79, %CF78 br i1 undef, label %CF79, label %CF80 CF80: ; preds = %CF79 - store i64 %L19, i64* undef + store i64 %L19, ptr undef %Cmp75 = icmp uge i32 206779, undef br i1 %Cmp75, label %CF, label %CF76 CF76: ; preds = %CF80 - store i64 %L5, i64* undef - store i64 %L34, i64* undef + store i64 %L5, ptr undef + store i64 %L34, ptr undef ret void } -define void @autogen_SD88042(i8*, i32*, i8) { +define void @autogen_SD88042(ptr, ptr, i8) { BB: %A4 = alloca <2 x i1> %A = alloca <16 x float> - %L = load i8, i8* %0 - %Sl = select i1 false, <16 x float>* %A, <16 x float>* %A - %PC = bitcast <2 x i1>* %A4 to i64* + %L = load i8, ptr %0 + %Sl = select i1 false, ptr %A, ptr %A %Sl27 = select i1 false, i8 undef, i8 %L br label %CF CF: ; preds = %CF78, %CF, %BB - %PC33 = bitcast i32* %1 to i32* br i1 undef, label %CF, label %CF77 CF77: ; preds = %CF80, %CF77, %CF - store <16 x float> zeroinitializer, <16 x float>* %Sl - %L58 = load i32, i32* %PC33 - store i8 0, i8* %0 + store <16 x float> zeroinitializer, ptr %Sl + %L58 = load i32, ptr %1 + store i8 0, ptr %0 br i1 undef, label %CF77, label %CF80 CF80: ; preds = %CF77 - store i64 0, i64* %PC + store i64 0, ptr %A4 %E67 = extractelement <8 x i1> zeroinitializer, i32 1 br i1 %E67, label %CF77, label %CF78 @@ -80,40 +77,39 @@ CF78: ; preds = %CF80 br i1 %Cmp73, label %CF, label %CF76 CF76: ; preds = %CF78 - store i8 %2, i8* %0 - store i8 %Sl27, i8* %0 + store i8 %2, ptr %0 + store i8 %Sl27, ptr %0 ret void } -define void @autogen_SD37497(i8*, i32*, i64*) { +define void @autogen_SD37497(ptr, ptr, ptr) { BB: %A1 = alloca i1 %I8 = insertelement <1 x i32> , i32 454855, i32 0 %Cmp = icmp ult <4 x i64> , undef - %L10 = load i64, i64* %2 + %L10 = load i64, ptr %2 %E11 = extractelement <4 x i1> %Cmp, i32 2 br label %CF72 CF72: ; preds = %CF74, %CF72, %BB - store double 0xB47BB29A53790718, double* undef + store double 0xB47BB29A53790718, ptr undef %E18 = extractelement <1 x i32> , i32 0 %FC22 = sitofp <1 x i32> %I8 to <1 x float> br i1 undef, label %CF72, label %CF74 CF74: ; preds = %CF72 - store i8 0, i8* %0 - %PC = bitcast i1* %A1 to i64* - %L31 = load i64, i64* %PC - store i64 477323, i64* %PC - %Sl37 = select i1 false, i32* undef, i32* %1 + store i8 0, ptr %0 + %L31 = load i64, ptr %A1 + store i64 477323, ptr %A1 + %Sl37 = select i1 false, ptr undef, ptr %1 %Cmp38 = icmp ugt i1 undef, undef br i1 %Cmp38, label %CF72, label %CF73 CF73: ; preds = %CF74 - store i64 %L31, i64* %PC + store i64 %L31, ptr %A1 %B55 = fdiv <1 x float> undef, %FC22 - %Sl63 = select i1 %E11, i32* undef, i32* %Sl37 - store i32 %E18, i32* %Sl63 - store i64 %L10, i64* %PC + %Sl63 = select i1 %E11, ptr undef, ptr %Sl37 + store i32 %E18, ptr %Sl63 + store i64 %L10, ptr %A1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/stdux-constuse.ll b/llvm/test/CodeGen/PowerPC/stdux-constuse.ll index e207e5e..3af2189 100644 --- a/llvm/test/CodeGen/PowerPC/stdux-constuse.ll +++ b/llvm/test/CodeGen/PowerPC/stdux-constuse.ll @@ -2,9 +2,9 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" target triple = "powerpc64-unknown-linux-gnu" -define i32 @test1(i64 %add, i64* %ptr) nounwind { +define i32 @test1(i64 %add, ptr %ptr) nounwind { entry: - %p1 = getelementptr i64, i64* %ptr, i64 144115188075855 + %p1 = getelementptr i64, ptr %ptr, i64 144115188075855 br label %for.cond2.preheader for.cond2.preheader: @@ -13,15 +13,15 @@ for.cond2.preheader: for.body4: %lsr.iv = phi i32 [ %lsr.iv.next, %for.body4 ], [ 16000, %for.cond2.preheader ] - %i0 = phi i64* [ %p1, %for.cond2.preheader ], [ %i6, %for.body4 ] - %i6 = getelementptr i64, i64* %i0, i64 400000 - %i7 = getelementptr i64, i64* %i6, i64 300000 - %i8 = getelementptr i64, i64* %i6, i64 200000 - %i9 = getelementptr i64, i64* %i6, i64 100000 - store i64 %add, i64* %i6, align 32 - store i64 %add, i64* %i7, align 32 - store i64 %add, i64* %i8, align 32 - store i64 %add, i64* %i9, align 32 + %i0 = phi ptr [ %p1, %for.cond2.preheader ], [ %i6, %for.body4 ] + %i6 = getelementptr i64, ptr %i0, i64 400000 + %i7 = getelementptr i64, ptr %i6, i64 300000 + %i8 = getelementptr i64, ptr %i6, i64 200000 + %i9 = getelementptr i64, ptr %i6, i64 100000 + store i64 %add, ptr %i6, align 32 + store i64 %add, ptr %i7, align 32 + store i64 %add, ptr %i8, align 32 + store i64 %add, ptr %i9, align 32 %lsr.iv.next = add i32 %lsr.iv, -16 %exitcond.15 = icmp eq i32 %lsr.iv.next, 0 br i1 %exitcond.15, label %for.end, label %for.body4 diff --git a/llvm/test/CodeGen/PowerPC/stfiwx-2.ll b/llvm/test/CodeGen/PowerPC/stfiwx-2.ll index e7f8362..d823139 100644 --- a/llvm/test/CodeGen/PowerPC/stfiwx-2.ll +++ b/llvm/test/CodeGen/PowerPC/stfiwx-2.ll @@ -1,9 +1,9 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu -mcpu=g5 | FileCheck %s -define void @test(float %F, i8* %P) { +define void @test(float %F, ptr %P) { %I = fptosi float %F to i32 %X = trunc i32 %I to i8 - store i8 %X, i8* %P + store i8 %X, ptr %P ret void ; CHECK: fctiwz 0, 1 ; CHECK: stfiwx 0, 0, 4 diff --git a/llvm/test/CodeGen/PowerPC/stfiwx.ll b/llvm/test/CodeGen/PowerPC/stfiwx.ll index f9f1afc..c778974 100644 --- a/llvm/test/CodeGen/PowerPC/stfiwx.ll +++ b/llvm/test/CodeGen/PowerPC/stfiwx.ll @@ -1,11 +1,11 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu -mattr=stfiwx | FileCheck %s ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu -mattr=-stfiwx | FileCheck -check-prefix=CHECK-LS %s -define void @test1(float %a, i32* %b) nounwind { +define void @test1(float %a, ptr %b) nounwind { ; CHECK-LABEL: @test1 ; CHECK-LS-LABEL: @test1 %tmp.2 = fptosi float %a to i32 ; [#uses=1] - store i32 %tmp.2, i32* %b + store i32 %tmp.2, ptr %b ret void ; CHECK: stwu @@ -20,15 +20,15 @@ define void @test1(float %a, i32* %b) nounwind { ; CHECK-LS: blr } -define void @test2(float %a, i32* %b, i32 %i) nounwind { +define void @test2(float %a, ptr %b, i32 %i) nounwind { ; CHECK-LABEL: @test2 ; CHECK-LS-LABEL: @test2 - %tmp.2 = getelementptr i32, i32* %b, i32 1 ; [#uses=1] - %tmp.5 = getelementptr i32, i32* %b, i32 %i ; [#uses=1] + %tmp.2 = getelementptr i32, ptr %b, i32 1 ; [#uses=1] + %tmp.5 = getelementptr i32, ptr %b, i32 %i ; [#uses=1] %tmp.7 = fptosi float %a to i32 ; [#uses=3] - store i32 %tmp.7, i32* %tmp.5 - store i32 %tmp.7, i32* %tmp.2 - store i32 %tmp.7, i32* %b + store i32 %tmp.7, ptr %tmp.5 + store i32 %tmp.7, ptr %tmp.2 + store i32 %tmp.7, ptr %b ret void ; CHECK: stwu diff --git a/llvm/test/CodeGen/PowerPC/store-combine.ll b/llvm/test/CodeGen/PowerPC/store-combine.ll index 7024a6d..9063335 100644 --- a/llvm/test/CodeGen/PowerPC/store-combine.ll +++ b/llvm/test/CodeGen/PowerPC/store-combine.ll @@ -1,13 +1,13 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 -verify-machineinstrs < %s | FileCheck %s -check-prefix=CHECK-PPC64LE ; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr8 -verify-machineinstrs < %s | FileCheck %s -check-prefix=CHECK-PPC64 -; i8* p; +; ptr p; ; i32 m; ; p[0] = (m >> 0) & 0xFF; ; p[1] = (m >> 8) & 0xFF; ; p[2] = (m >> 16) & 0xFF; ; p[3] = (m >> 24) & 0xFF; -define void @store_i32_by_i8(i32 signext %m, i8* %p) { +define void @store_i32_by_i8(i32 signext %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: stw 3, 0(4) @@ -19,28 +19,28 @@ define void @store_i32_by_i8(i32 signext %m, i8* %p) { ; CHECK-PPC64-NEXT: blr entry: %conv = trunc i32 %m to i8 - store i8 %conv, i8* %p, align 1 + store i8 %conv, ptr %p, align 1 %0 = lshr i32 %m, 8 %conv3 = trunc i32 %0 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i32 %m, 16 %conv7 = trunc i32 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i32 %m, 24 %conv11 = trunc i32 %2 to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv11, ptr %arrayidx12, align 1 ret void } -; i8* p; +; ptr p; ; i32 m; ; p[0] = (m >> 24) & 0xFF; ; p[1] = (m >> 16) & 0xFF; ; p[2] = (m >> 8) & 0xFF; ; p[3] = (m >> 0) & 0xFF; -define void @store_i32_by_i8_bswap(i32 signext %m, i8* %p) { +define void @store_i32_by_i8_bswap(i32 signext %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: stwbrx 3, 0, 4 @@ -53,21 +53,21 @@ define void @store_i32_by_i8_bswap(i32 signext %m, i8* %p) { entry: %0 = lshr i32 %m, 24 %conv = trunc i32 %0 to i8 - store i8 %conv, i8* %p, align 1 + store i8 %conv, ptr %p, align 1 %1 = lshr i32 %m, 16 %conv3 = trunc i32 %1 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv3, ptr %arrayidx4, align 1 %2 = lshr i32 %m, 8 %conv7 = trunc i32 %2 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv7, ptr %arrayidx8, align 1 %conv11 = trunc i32 %m to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv11, ptr %arrayidx12, align 1 ret void } -; i8 *p; +; ptr p; ; i64 m; ; p[0] = (m >> 0) & 0xFF; ; p[1] = (m >> 8) & 0xFF; @@ -77,7 +77,7 @@ entry: ; p[5] = (m >> 40) & 0xFF; ; p[6] = (m >> 48) & 0xFF; ; p[7] = (m >> 56) & 0xFF; -define void @store_i64_by_i8(i64 %m, i8* %p) { +define void @store_i64_by_i8(i64 %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i64_by_i8: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: std 3, 0(4) @@ -89,38 +89,38 @@ define void @store_i64_by_i8(i64 %m, i8* %p) { ; CHECK-PPC64-NEXT: blr entry: %conv = trunc i64 %m to i8 - store i8 %conv, i8* %p, align 1 + store i8 %conv, ptr %p, align 1 %0 = lshr i64 %m, 8 %conv3 = trunc i64 %0 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i64 %m, 16 %conv7 = trunc i64 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i64 %m, 24 %conv11 = trunc i64 %2 to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv11, ptr %arrayidx12, align 1 %3 = lshr i64 %m, 32 %conv15 = trunc i64 %3 to i8 - %arrayidx16 = getelementptr inbounds i8, i8* %p, i64 4 - store i8 %conv15, i8* %arrayidx16, align 1 + %arrayidx16 = getelementptr inbounds i8, ptr %p, i64 4 + store i8 %conv15, ptr %arrayidx16, align 1 %4 = lshr i64 %m, 40 %conv19 = trunc i64 %4 to i8 - %arrayidx20 = getelementptr inbounds i8, i8* %p, i64 5 - store i8 %conv19, i8* %arrayidx20, align 1 + %arrayidx20 = getelementptr inbounds i8, ptr %p, i64 5 + store i8 %conv19, ptr %arrayidx20, align 1 %5 = lshr i64 %m, 48 %conv23 = trunc i64 %5 to i8 - %arrayidx24 = getelementptr inbounds i8, i8* %p, i64 6 - store i8 %conv23, i8* %arrayidx24, align 1 + %arrayidx24 = getelementptr inbounds i8, ptr %p, i64 6 + store i8 %conv23, ptr %arrayidx24, align 1 %6 = lshr i64 %m, 56 %conv27 = trunc i64 %6 to i8 - %arrayidx28 = getelementptr inbounds i8, i8* %p, i64 7 - store i8 %conv27, i8* %arrayidx28, align 1 + %arrayidx28 = getelementptr inbounds i8, ptr %p, i64 7 + store i8 %conv27, ptr %arrayidx28, align 1 ret void } -; i8 *p; +; ptr p; ; i64 m; ; p[7] = (m >> 0) & 0xFF; ; p[6] = (m >> 8) & 0xFF; @@ -130,7 +130,7 @@ entry: ; p[2] = (m >> 40) & 0xFF; ; p[1] = (m >> 48) & 0xFF; ; p[0] = (m >> 56) & 0xFF; -define void @store_i64_by_i8_bswap(i64 %m, i8* %p) { +define void @store_i64_by_i8_bswap(i64 %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i64_by_i8_bswap: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: stdbrx 3, 0, 4 @@ -142,39 +142,39 @@ define void @store_i64_by_i8_bswap(i64 %m, i8* %p) { ; CHECK-PPC64-NEXT: blr entry: %conv = trunc i64 %m to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 7 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 7 + store i8 %conv, ptr %arrayidx, align 1 %0 = lshr i64 %m, 8 %conv3 = trunc i64 %0 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 6 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 6 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i64 %m, 16 %conv7 = trunc i64 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 5 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 5 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i64 %m, 24 %conv11 = trunc i64 %2 to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 4 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 4 + store i8 %conv11, ptr %arrayidx12, align 1 %3 = lshr i64 %m, 32 %conv15 = trunc i64 %3 to i8 - %arrayidx16 = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv15, i8* %arrayidx16, align 1 + %arrayidx16 = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv15, ptr %arrayidx16, align 1 %4 = lshr i64 %m, 40 %conv19 = trunc i64 %4 to i8 - %arrayidx20 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv19, i8* %arrayidx20, align 1 + %arrayidx20 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv19, ptr %arrayidx20, align 1 %5 = lshr i64 %m, 48 %conv23 = trunc i64 %5 to i8 - %arrayidx24 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv23, i8* %arrayidx24, align 1 + %arrayidx24 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv23, ptr %arrayidx24, align 1 %6 = lshr i64 %m, 56 %conv27 = trunc i64 %6 to i8 - store i8 %conv27, i8* %p, align 1 + store i8 %conv27, ptr %p, align 1 ret void } -; i32 t; i8 *p; +; i32 t; ptr p; ; i64 m = t * 7; ; p[7] = (m >> 0) & 0xFF; ; p[6] = (m >> 8) & 0xFF; @@ -184,7 +184,7 @@ entry: ; p[2] = (m >> 40) & 0xFF; ; p[1] = (m >> 48) & 0xFF; ; p[0] = (m >> 56) & 0xFF; -define void @store_i64_by_i8_bswap_uses(i32 signext %t, i8* %p) { +define void @store_i64_by_i8_bswap_uses(i32 signext %t, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i64_by_i8_bswap_uses: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: slwi 5, 3, 3 @@ -204,46 +204,46 @@ entry: %mul = mul nsw i32 %t, 7 %conv = sext i32 %mul to i64 %conv1 = trunc i32 %mul to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 7 - store i8 %conv1, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 7 + store i8 %conv1, ptr %arrayidx, align 1 %0 = lshr i64 %conv, 8 %conv4 = trunc i64 %0 to i8 - %arrayidx5 = getelementptr inbounds i8, i8* %p, i64 6 - store i8 %conv4, i8* %arrayidx5, align 1 + %arrayidx5 = getelementptr inbounds i8, ptr %p, i64 6 + store i8 %conv4, ptr %arrayidx5, align 1 %1 = lshr i64 %conv, 16 %conv8 = trunc i64 %1 to i8 - %arrayidx9 = getelementptr inbounds i8, i8* %p, i64 5 - store i8 %conv8, i8* %arrayidx9, align 1 + %arrayidx9 = getelementptr inbounds i8, ptr %p, i64 5 + store i8 %conv8, ptr %arrayidx9, align 1 %2 = lshr i64 %conv, 24 %conv12 = trunc i64 %2 to i8 - %arrayidx13 = getelementptr inbounds i8, i8* %p, i64 4 - store i8 %conv12, i8* %arrayidx13, align 1 + %arrayidx13 = getelementptr inbounds i8, ptr %p, i64 4 + store i8 %conv12, ptr %arrayidx13, align 1 %shr14 = ashr i64 %conv, 32 %conv16 = trunc i64 %shr14 to i8 - %arrayidx17 = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv16, i8* %arrayidx17, align 1 + %arrayidx17 = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv16, ptr %arrayidx17, align 1 %shr18 = ashr i64 %conv, 40 %conv20 = trunc i64 %shr18 to i8 - %arrayidx21 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv20, i8* %arrayidx21, align 1 + %arrayidx21 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv20, ptr %arrayidx21, align 1 %shr22 = ashr i64 %conv, 48 %conv24 = trunc i64 %shr22 to i8 - %arrayidx25 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv24, i8* %arrayidx25, align 1 + %arrayidx25 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv24, ptr %arrayidx25, align 1 %shr26 = ashr i64 %conv, 56 %conv28 = trunc i64 %shr26 to i8 - store i8 %conv28, i8* %p, align 1 + store i8 %conv28, ptr %p, align 1 ret void } ; One of the stores is volatile -; i8 *p; +; ptr p; ; p0 = volatile *p; ; p[3] = (m >> 0) & 0xFF; ; p[2] = (m >> 8) & 0xFF; ; p[1] = (m >> 16) & 0xFF; ; *p0 = (m >> 24) & 0xFF; -define void @store_i32_by_i8_bswap_volatile(i32 signext %m, i8* %p) { +define void @store_i32_by_i8_bswap_volatile(i32 signext %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_volatile: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: li 5, 2 @@ -264,30 +264,30 @@ define void @store_i32_by_i8_bswap_volatile(i32 signext %m, i8* %p) { ; CHECK-PPC64-NEXT: blr entry: %conv = trunc i32 %m to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv, ptr %arrayidx, align 1 %0 = lshr i32 %m, 8 %conv3 = trunc i32 %0 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i32 %m, 16 %conv7 = trunc i32 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i32 %m, 24 %conv11 = trunc i32 %2 to i8 - store volatile i8 %conv11, i8* %p, align 1 + store volatile i8 %conv11, ptr %p, align 1 ret void } ; There is a store in between individual stores -; i8* p, q; +; ptr p, q; ; p[3] = (m >> 0) & 0xFF; ; p[2] = (m >> 8) & 0xFF; ; *q = 3; ; p[1] = (m >> 16) & 0xFF; ; p[0] = (m >> 24) & 0xFF; -define void @store_i32_by_i8_bswap_store_in_between(i32 signext %m, i8* %p, i8* %q) { +define void @store_i32_by_i8_bswap_store_in_between(i32 signext %m, ptr %p, ptr %q) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_store_in_between: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: li 6, 2 @@ -312,24 +312,24 @@ define void @store_i32_by_i8_bswap_store_in_between(i32 signext %m, i8* %p, i8* ; CHECK-PPC64-NEXT: blr entry: %conv = trunc i32 %m to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv, ptr %arrayidx, align 1 %0 = lshr i32 %m, 8 %conv3 = trunc i32 %0 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv3, i8* %arrayidx4, align 1 - store i8 3, i8* %q, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv3, ptr %arrayidx4, align 1 + store i8 3, ptr %q, align 1 %1 = lshr i32 %m, 16 %conv7 = trunc i32 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i32 %m, 24 %conv11 = trunc i32 %2 to i8 - store i8 %conv11, i8* %p, align 1 + store i8 %conv11, ptr %p, align 1 ret void } -define void @store_i32_by_i8_bswap_unrelated_store(i32 signext %m, i8* %p, i8* %q) { +define void @store_i32_by_i8_bswap_unrelated_store(i32 signext %m, ptr %p, ptr %q) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_unrelated_store: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: srwi 6, 3, 8 @@ -353,28 +353,28 @@ define void @store_i32_by_i8_bswap_unrelated_store(i32 signext %m, i8* %p, i8* % ; CHECK-PPC64-NEXT: blr entry: %conv = trunc i32 %m to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv, ptr %arrayidx, align 1 %0 = lshr i32 %m, 8 %conv3 = trunc i32 %0 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %q, i64 2 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %q, i64 2 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i32 %m, 16 %conv7 = trunc i32 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i32 %m, 24 %conv11 = trunc i32 %2 to i8 - store i8 %conv11, i8* %p, align 1 + store i8 %conv11, ptr %p, align 1 ret void } ; i32 m; -; i8* p; +; ptr p; ; p[3] = (m >> 8) & 0xFF; ; p[4] = (m >> 0) & 0xFF; ; p[2] = (m >> 16) & 0xFF; ; p[1] = (m >> 24) & 0xFF; -define void @store_i32_by_i8_bswap_nonzero_offset(i32 signext %m, i8* %p) { +define void @store_i32_by_i8_bswap_nonzero_offset(i32 signext %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_nonzero_offset: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: addi 4, 4, 1 @@ -388,28 +388,28 @@ define void @store_i32_by_i8_bswap_nonzero_offset(i32 signext %m, i8* %p) { entry: %0 = lshr i32 %m, 8 %conv = trunc i32 %0 to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 3 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 3 + store i8 %conv, ptr %arrayidx, align 1 %conv3 = trunc i32 %m to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 4 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 4 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i32 %m, 16 %conv7 = trunc i32 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 2 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 2 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i32 %m, 24 %conv11 = trunc i32 %2 to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv11, ptr %arrayidx12, align 1 ret void } ; i32 m; -; i8* p; +; ptr p; ; p[-3] = (m >> 8) & 0xFF; ; p[-4] = (m >> 0) & 0xFF; ; p[-2] = (m >> 16) & 0xFF; ; p[-1] = (m >> 24) & 0xFF; -define void @store_i32_by_i8_neg_offset(i32 signext %m, i8* %p) { +define void @store_i32_by_i8_neg_offset(i32 signext %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_neg_offset: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: stw 3, -4(4) @@ -423,28 +423,28 @@ define void @store_i32_by_i8_neg_offset(i32 signext %m, i8* %p) { entry: %0 = lshr i32 %m, 8 %conv = trunc i32 %0 to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 -3 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 -3 + store i8 %conv, ptr %arrayidx, align 1 %conv3 = trunc i32 %m to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 -4 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 -4 + store i8 %conv3, ptr %arrayidx4, align 1 %1 = lshr i32 %m, 16 %conv7 = trunc i32 %1 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 -2 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 -2 + store i8 %conv7, ptr %arrayidx8, align 1 %2 = lshr i32 %m, 24 %conv11 = trunc i32 %2 to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 -1 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 -1 + store i8 %conv11, ptr %arrayidx12, align 1 ret void } ; i32 m; -; i8* p; +; ptr p; ; p[-3] = (m >> 16) & 0xFF; ; p[-4] = (m >> 24) & 0xFF; ; p[-2] = (m >> 8) & 0xFF; ; p[-1] = (m >> 0) & 0xFF; -define void @store_i32_by_i8_bswap_neg_offset(i32 signext %m, i8* %p) { +define void @store_i32_by_i8_bswap_neg_offset(i32 signext %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_neg_offset: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: addi 4, 4, -4 @@ -458,28 +458,28 @@ define void @store_i32_by_i8_bswap_neg_offset(i32 signext %m, i8* %p) { entry: %0 = lshr i32 %m, 16 %conv = trunc i32 %0 to i8 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 -3 - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 -3 + store i8 %conv, ptr %arrayidx, align 1 %1 = lshr i32 %m, 24 %conv3 = trunc i32 %1 to i8 - %arrayidx4 = getelementptr inbounds i8, i8* %p, i64 -4 - store i8 %conv3, i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds i8, ptr %p, i64 -4 + store i8 %conv3, ptr %arrayidx4, align 1 %2 = lshr i32 %m, 8 %conv7 = trunc i32 %2 to i8 - %arrayidx8 = getelementptr inbounds i8, i8* %p, i64 -2 - store i8 %conv7, i8* %arrayidx8, align 1 + %arrayidx8 = getelementptr inbounds i8, ptr %p, i64 -2 + store i8 %conv7, ptr %arrayidx8, align 1 %conv11 = trunc i32 %m to i8 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 -1 - store i8 %conv11, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 -1 + store i8 %conv11, ptr %arrayidx12, align 1 ret void } ; i32 m, i; -; i8* p; +; ptr p; ; p[i-3] = (m >> 16) & 0xFF; ; p[i-4] = (m >> 24) & 0xFF; ; p[i-2] = (m >> 8) & 0xFF; ; p[i-1] = (m >> 0) & 0xFF; -define void @store_i32_by_i8_bswap_base_index_offset(i32 %m, i32 %i, i8* %p) { +define void @store_i32_by_i8_bswap_base_index_offset(i32 %m, i32 %i, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_base_index_offset: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: extsw 4, 4 @@ -499,39 +499,39 @@ entry: %conv = trunc i32 %0 to i8 %sub = add nsw i32 %i, -3 %idxprom = sext i32 %sub to i64 - %arrayidx = getelementptr inbounds i8, i8* %p, i64 %idxprom - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %p, i64 %idxprom + store i8 %conv, ptr %arrayidx, align 1 %1 = lshr i32 %m, 24 %conv3 = trunc i32 %1 to i8 %sub4 = add nsw i32 %i, -4 %idxprom5 = sext i32 %sub4 to i64 - %arrayidx6 = getelementptr inbounds i8, i8* %p, i64 %idxprom5 - store i8 %conv3, i8* %arrayidx6, align 1 + %arrayidx6 = getelementptr inbounds i8, ptr %p, i64 %idxprom5 + store i8 %conv3, ptr %arrayidx6, align 1 %2 = lshr i32 %m, 8 %conv9 = trunc i32 %2 to i8 %sub10 = add nsw i32 %i, -2 %idxprom11 = sext i32 %sub10 to i64 - %arrayidx12 = getelementptr inbounds i8, i8* %p, i64 %idxprom11 - store i8 %conv9, i8* %arrayidx12, align 1 + %arrayidx12 = getelementptr inbounds i8, ptr %p, i64 %idxprom11 + store i8 %conv9, ptr %arrayidx12, align 1 %conv15 = trunc i32 %m to i8 %sub16 = add nsw i32 %i, -1 %idxprom17 = sext i32 %sub16 to i64 - %arrayidx18 = getelementptr inbounds i8, i8* %p, i64 %idxprom17 - store i8 %conv15, i8* %arrayidx18, align 1 + %arrayidx18 = getelementptr inbounds i8, ptr %p, i64 %idxprom17 + store i8 %conv15, ptr %arrayidx18, align 1 ret void } -; i8* p; +; ptr p; ; i32 i, m; -; i8* p0 = p + i; -; i8* p1 = p + i + 1; -; i8* p2 = p + i + 2; -; i8 *p3 = p + i + 3; +; ptr p0 = p + i; +; ptr p1 = p + i + 1; +; ptr p2 = p + i + 2; +; ptr p3 = p + i + 3; ; p0[3] = (m >> 24) & 0xFF; ; p1[3] = (m >> 16) & 0xFF; ; p2[3] = (m >> 8) & 0xFF; ; p3[3] = (m >> 0) & 0xFF; -define void @store_i32_by_i8_bswap_complicated(i32 %m, i32 %i, i8* %p) { +define void @store_i32_by_i8_bswap_complicated(i32 %m, i32 %i, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i32_by_i8_bswap_complicated: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: extsw 4, 4 @@ -548,30 +548,30 @@ define void @store_i32_by_i8_bswap_complicated(i32 %m, i32 %i, i8* %p) { ; CHECK-PPC64-NEXT: blr entry: %idx.ext = sext i32 %i to i64 - %add.ptr = getelementptr inbounds i8, i8* %p, i64 %idx.ext - %add.ptr3 = getelementptr inbounds i8, i8* %add.ptr, i64 1 - %add.ptr6 = getelementptr inbounds i8, i8* %add.ptr, i64 2 - %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 3 + %add.ptr = getelementptr inbounds i8, ptr %p, i64 %idx.ext + %add.ptr3 = getelementptr inbounds i8, ptr %add.ptr, i64 1 + %add.ptr6 = getelementptr inbounds i8, ptr %add.ptr, i64 2 + %add.ptr9 = getelementptr inbounds i8, ptr %add.ptr, i64 3 %0 = lshr i32 %m, 24 %conv = trunc i32 %0 to i8 - store i8 %conv, i8* %add.ptr9, align 1 + store i8 %conv, ptr %add.ptr9, align 1 %1 = lshr i32 %m, 16 %conv12 = trunc i32 %1 to i8 - %arrayidx13 = getelementptr inbounds i8, i8* %add.ptr3, i64 3 - store i8 %conv12, i8* %arrayidx13, align 1 + %arrayidx13 = getelementptr inbounds i8, ptr %add.ptr3, i64 3 + store i8 %conv12, ptr %arrayidx13, align 1 %2 = lshr i32 %m, 8 %conv16 = trunc i32 %2 to i8 - %arrayidx17 = getelementptr inbounds i8, i8* %add.ptr6, i64 3 - store i8 %conv16, i8* %arrayidx17, align 1 + %arrayidx17 = getelementptr inbounds i8, ptr %add.ptr6, i64 3 + store i8 %conv16, ptr %arrayidx17, align 1 %conv20 = trunc i32 %m to i8 - %arrayidx21 = getelementptr inbounds i8, i8* %add.ptr9, i64 3 - store i8 %conv20, i8* %arrayidx21, align 1 + %arrayidx21 = getelementptr inbounds i8, ptr %add.ptr9, i64 3 + store i8 %conv20, ptr %arrayidx21, align 1 ret void } -; i8* p; i32 m; +; ptr p; i32 m; ; p[0] = (m >> 8) & 0xFF; ; p[1] = (m >> 0) & 0xFF; -define void @store_i16_by_i8_bswap(i16 %m, i8* %p) { +define void @store_i16_by_i8_bswap(i16 %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_i16_by_i8_bswap: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: sthbrx 3, 0, 4 @@ -584,16 +584,16 @@ define void @store_i16_by_i8_bswap(i16 %m, i8* %p) { entry: %0 = lshr i16 %m, 8 %conv1 = trunc i16 %0 to i8 - store i8 %conv1, i8* %p, align 1 + store i8 %conv1, ptr %p, align 1 %conv5 = trunc i16 %m to i8 - %arrayidx6 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv5, i8* %arrayidx6, align 1 + %arrayidx6 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv5, ptr %arrayidx6, align 1 ret void } -; i8* p; i32 m; +; ptr p; i32 m; ; p[0] = (m >> 0) & 0xFF; ; p[1] = (m >> 8) & 0xFF; -define void @store_16_by_i8(i16 %m, i8* %p) { +define void @store_16_by_i8(i16 %m, ptr %p) { ; CHECK-PPC64LE-LABEL: store_16_by_i8: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: sth 3, 0(4) @@ -605,18 +605,18 @@ define void @store_16_by_i8(i16 %m, i8* %p) { ; CHECK-PPC64-NEXT: blr entry: %conv1 = trunc i16 %m to i8 - store i8 %conv1, i8* %p, align 1 + store i8 %conv1, ptr %p, align 1 %0 = lshr i16 %m, 8 %conv5 = trunc i16 %0 to i8 - %arrayidx6 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %conv5, i8* %arrayidx6, align 1 + %arrayidx6 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %conv5, ptr %arrayidx6, align 1 ret void } ; This was found when testing the hexxagon in testsuite -; i8* p; i8 v; +; ptr p; i8 v; ; p[0] = v; ; p[1] = v; -define void @store_same_value_to_consecutive_mem(i8* %p, i8 zeroext %v) { +define void @store_same_value_to_consecutive_mem(ptr %p, i8 zeroext %v) { ; CHECK-PPC64LE-LABEL: store_same_value_to_consecutive_mem: ; CHECK-PPC64LE: # %bb.0: # %entry ; CHECK-PPC64LE-NEXT: stb 4, 0(3) @@ -629,8 +629,8 @@ define void @store_same_value_to_consecutive_mem(i8* %p, i8 zeroext %v) { ; CHECK-PPC64-NEXT: stb 4, 1(3) ; CHECK-PPC64-NEXT: blr entry: - store i8 %v, i8* %p, align 1 - %arrayidx1 = getelementptr inbounds i8, i8* %p, i64 1 - store i8 %v, i8* %arrayidx1, align 1 + store i8 %v, ptr %p, align 1 + %arrayidx1 = getelementptr inbounds i8, ptr %p, i64 1 + store i8 %v, ptr %arrayidx1, align 1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/store-constant.ll b/llvm/test/CodeGen/PowerPC/store-constant.ll index 1b7dd16..3c72cf5 100644 --- a/llvm/test/CodeGen/PowerPC/store-constant.ll +++ b/llvm/test/CodeGen/PowerPC/store-constant.ll @@ -6,14 +6,14 @@ @IVal = external local_unnamed_addr global i32, align 4 @LVal = external local_unnamed_addr global i64, align 8 @USVal = external local_unnamed_addr global i16, align 2 -@arr = external local_unnamed_addr global i64*, align 8 -@arri = external local_unnamed_addr global i32*, align 8 +@arr = external local_unnamed_addr global ptr, align 8 +@arri = external local_unnamed_addr global ptr, align 8 ; Test the same constant can be used by different stores. %struct.S = type { i64, i8, i16, i32 } -define void @foo(%struct.S* %p) { +define void @foo(ptr %p) { ; CHECK-LABEL: foo: ; CHECK: # %bb.0: ; CHECK-NEXT: li 4, 0 @@ -22,19 +22,18 @@ define void @foo(%struct.S* %p) { ; CHECK-NEXT: sth 4, 10(3) ; CHECK-NEXT: stw 4, 12(3) ; CHECK-NEXT: blr - %l4 = bitcast %struct.S* %p to i64* - store i64 0, i64* %l4, align 8 - %c = getelementptr %struct.S, %struct.S* %p, i64 0, i32 1 - store i8 0, i8* %c, align 8 - %s = getelementptr %struct.S, %struct.S* %p, i64 0, i32 2 - store i16 0, i16* %s, align 2 - %i = getelementptr %struct.S, %struct.S* %p, i64 0, i32 3 - store i32 0, i32* %i, align 4 + store i64 0, ptr %p, align 8 + %c = getelementptr %struct.S, ptr %p, i64 0, i32 1 + store i8 0, ptr %c, align 8 + %s = getelementptr %struct.S, ptr %p, i64 0, i32 2 + store i16 0, ptr %s, align 2 + %i = getelementptr %struct.S, ptr %p, i64 0, i32 3 + store i32 0, ptr %i, align 4 ret void } -define void @bar(%struct.S* %p) { +define void @bar(ptr %p) { ; CHECK-LABEL: bar: ; CHECK: # %bb.0: ; CHECK-NEXT: li 4, 2 @@ -43,14 +42,13 @@ define void @bar(%struct.S* %p) { ; CHECK-NEXT: std 4, 0(3) ; CHECK-NEXT: stb 4, 8(3) ; CHECK-NEXT: blr - %i = getelementptr %struct.S, %struct.S* %p, i64 0, i32 3 - store i32 2, i32* %i, align 4 - %s = getelementptr %struct.S, %struct.S* %p, i64 0, i32 2 - store i16 2, i16* %s, align 2 - %c = getelementptr %struct.S, %struct.S* %p, i64 0, i32 1 - store i8 2, i8* %c, align 8 - %l4 = bitcast %struct.S* %p to i64* - store i64 2, i64* %l4, align 8 + %i = getelementptr %struct.S, ptr %p, i64 0, i32 3 + store i32 2, ptr %i, align 4 + %s = getelementptr %struct.S, ptr %p, i64 0, i32 2 + store i16 2, ptr %s, align 2 + %c = getelementptr %struct.S, ptr %p, i64 0, i32 1 + store i8 2, ptr %c, align 8 + store i64 2, ptr %p, align 8 ret void } @@ -74,10 +72,10 @@ define void @setSmallNeg() { ; CHECK-NEXT: stw 7, 0(5) ; CHECK-NEXT: blr entry: - store i8 -7, i8* @CVal, align 1 - store i16 -7, i16* @SVal, align 2 - store i32 -7, i32* @IVal, align 4 - store i64 -7, i64* @LVal, align 8 + store i8 -7, ptr @CVal, align 1 + store i16 -7, ptr @SVal, align 2 + store i32 -7, ptr @IVal, align 4 + store i64 -7, ptr @LVal, align 8 ret void } @@ -100,10 +98,10 @@ define void @setSmallPos() { ; CHECK-NEXT: stw 7, 0(5) ; CHECK-NEXT: blr entry: - store i8 8, i8* @CVal, align 1 - store i16 8, i16* @SVal, align 2 - store i32 8, i32* @IVal, align 4 - store i64 8, i64* @LVal, align 8 + store i8 8, ptr @CVal, align 1 + store i16 8, ptr @SVal, align 2 + store i32 8, ptr @IVal, align 4 + store i64 8, ptr @LVal, align 8 ret void } @@ -123,9 +121,9 @@ define void @setMaxNeg() { ; CHECK-NEXT: std 6, 0(5) ; CHECK-NEXT: blr entry: - store i16 -32768, i16* @SVal, align 2 - store i32 -32768, i32* @IVal, align 4 - store i64 -32768, i64* @LVal, align 8 + store i16 -32768, ptr @SVal, align 2 + store i32 -32768, ptr @IVal, align 4 + store i64 -32768, ptr @LVal, align 8 ret void } @@ -145,9 +143,9 @@ define void @setMaxPos() { ; CHECK-NEXT: std 6, 0(5) ; CHECK-NEXT: blr entry: - store i16 32767, i16* @SVal, align 2 - store i32 32767, i32* @IVal, align 4 - store i64 32767, i64* @LVal, align 8 + store i16 32767, ptr @SVal, align 2 + store i32 32767, ptr @IVal, align 4 + store i64 32767, ptr @LVal, align 8 ret void } @@ -165,8 +163,8 @@ define void @setExcessiveNeg() { ; CHECK-NEXT: std 5, 0(4) ; CHECK-NEXT: blr entry: - store i32 -32769, i32* @IVal, align 4 - store i64 -32769, i64* @LVal, align 8 + store i32 -32769, ptr @IVal, align 4 + store i64 -32769, ptr @LVal, align 8 ret void } @@ -187,9 +185,9 @@ define void @setExcessivePos() { ; CHECK-NEXT: std 6, 0(5) ; CHECK-NEXT: blr entry: - store i16 -32768, i16* @USVal, align 2 - store i32 32768, i32* @IVal, align 4 - store i64 32768, i64* @LVal, align 8 + store i16 -32768, ptr @USVal, align 2 + store i32 32768, ptr @IVal, align 4 + store i64 32768, ptr @LVal, align 8 ret void } @@ -223,8 +221,8 @@ entry: br i1 %cmp7, label %for.body.lr.ph, label %for.cond.cleanup for.body.lr.ph: ; preds = %entry - %0 = load i64*, i64** @arr, align 8 - %1 = load i32*, i32** @arri, align 8 + %0 = load ptr, ptr @arr, align 8 + %1 = load ptr, ptr @arri, align 8 %wide.trip.count = zext i32 %Len to i64 br label %for.body @@ -233,10 +231,10 @@ for.cond.cleanup: ; preds = %for.body, %entry for.body: ; preds = %for.body, %for.body.lr.ph %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ] - %arrayidx = getelementptr inbounds i64, i64* %0, i64 %indvars.iv - store i64 -7, i64* %arrayidx, align 8 - %arrayidx2 = getelementptr inbounds i32, i32* %1, i64 %indvars.iv - store i32 -7, i32* %arrayidx2, align 4 + %arrayidx = getelementptr inbounds i64, ptr %0, i64 %indvars.iv + store i64 -7, ptr %arrayidx, align 8 + %arrayidx2 = getelementptr inbounds i32, ptr %1, i64 %indvars.iv + store i32 -7, ptr %arrayidx2, align 4 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond, label %for.cond.cleanup, label %for.body @@ -254,8 +252,8 @@ define void @setSameValDiffSizeCI() { ; CHECK-NEXT: stb 5, 0(4) ; CHECK-NEXT: blr entry: - store i32 255, i32* @IVal, align 4 - store i8 -1, i8* @CVal, align 1 + store i32 255, ptr @IVal, align 4 + store i8 -1, ptr @CVal, align 1 ret void } @@ -272,7 +270,7 @@ define void @setSameValDiffSizeSI() { ; CHECK-NEXT: sth 5, 0(4) ; CHECK-NEXT: blr entry: - store i32 65535, i32* @IVal, align 4 - store i16 -1, i16* @SVal, align 2 + store i32 65535, ptr @IVal, align 4 + store i16 -1, ptr @SVal, align 2 ret void } diff --git a/llvm/test/CodeGen/PowerPC/store-forward-be32.ll b/llvm/test/CodeGen/PowerPC/store-forward-be32.ll index 25a2415..9349c9c 100644 --- a/llvm/test/CodeGen/PowerPC/store-forward-be32.ll +++ b/llvm/test/CodeGen/PowerPC/store-forward-be32.ll @@ -12,7 +12,7 @@ target triple = "powerpc-ibm-aix7.2.0.0" %struct.UST = type { i32, i32 } ; Function Attrs: nounwind -define i32 @ustc1(%struct.USST* noundef byval(%struct.USST) align 4 %s) { +define i32 @ustc1(ptr noundef byval(%struct.USST) align 4 %s) { ; CHECK-LABEL: ustc1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -20,15 +20,14 @@ define i32 @ustc1(%struct.USST* noundef byval(%struct.USST) align 4 %s) { ; CHECK-NEXT: stw 4, 24(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.USST, %struct.USST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 4 + %0 = load i16, ptr %s, align 4 %conv = zext i16 %0 to i32 %shr = ashr i32 %conv, 8 ret i32 %shr } ; Function Attrs: nounwind -define i32 @ustc2(%struct.USST* noundef byval(%struct.USST) align 4 %s) { +define i32 @ustc2(ptr noundef byval(%struct.USST) align 4 %s) { ; CHECK-LABEL: ustc2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -36,14 +35,13 @@ define i32 @ustc2(%struct.USST* noundef byval(%struct.USST) align 4 %s) { ; CHECK-NEXT: stw 4, 24(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.USST, %struct.USST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 4 + %0 = load i16, ptr %s, align 4 %conv = zext i16 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define i32 @stc1(%struct.SST* noundef byval(%struct.SST) align 4 %s) { +define i32 @stc1(ptr noundef byval(%struct.SST) align 4 %s) { ; CHECK-LABEL: stc1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -51,15 +49,14 @@ define i32 @stc1(%struct.SST* noundef byval(%struct.SST) align 4 %s) { ; CHECK-NEXT: stw 4, 24(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.SST, %struct.SST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 4 + %0 = load i16, ptr %s, align 4 %conv = sext i16 %0 to i32 %shr = ashr i32 %conv, 8 ret i32 %shr } ; Function Attrs: nounwind -define i32 @stc2(%struct.SST* noundef byval(%struct.SST) align 4 %s) { +define i32 @stc2(ptr noundef byval(%struct.SST) align 4 %s) { ; CHECK-LABEL: stc2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -67,14 +64,13 @@ define i32 @stc2(%struct.SST* noundef byval(%struct.SST) align 4 %s) { ; CHECK-NEXT: stw 4, 24(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.SST, %struct.SST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 4 + %0 = load i16, ptr %s, align 4 %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define i32 @ctc(%struct.CST* noundef byval(%struct.CST) align 4 %s) { +define i32 @ctc(ptr noundef byval(%struct.CST) align 4 %s) { ; CHECK-LABEL: ctc: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -82,14 +78,13 @@ define i32 @ctc(%struct.CST* noundef byval(%struct.CST) align 4 %s) { ; CHECK-NEXT: stw 4, 24(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.CST, %struct.CST* %s, i32 0, i32 0 - %0 = load i8, i8* %a, align 4 + %0 = load i8, ptr %s, align 4 %conv = zext i8 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define i32 @sctc(%struct.SCST* noundef byval(%struct.SCST) align 4 %s) { +define i32 @sctc(ptr noundef byval(%struct.SCST) align 4 %s) { ; CHECK-LABEL: sctc: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -97,27 +92,25 @@ define i32 @sctc(%struct.SCST* noundef byval(%struct.SCST) align 4 %s) { ; CHECK-NEXT: stw 4, 24(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.SCST, %struct.SCST* %s, i32 0, i32 0 - %0 = load i8, i8* %a, align 4 + %0 = load i8, ptr %s, align 4 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define i32 @tc44(%struct.ST* noundef byval(%struct.ST) align 4 %s) { +define i32 @tc44(ptr noundef byval(%struct.ST) align 4 %s) { ; CHECK-LABEL: tc44: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 ret i32 %0 } ; Function Attrs: nounwind -define i32 @tc41(%struct.ST* noundef byval(%struct.ST) align 4 %s) { +define i32 @tc41(ptr noundef byval(%struct.ST) align 4 %s) { ; CHECK-LABEL: tc41: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) @@ -125,14 +118,13 @@ define i32 @tc41(%struct.ST* noundef byval(%struct.ST) align 4 %s) { ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 %shr = ashr i32 %0, 24 ret i32 %shr } ; Function Attrs: nounwind -define i32 @tc42(%struct.ST* noundef byval(%struct.ST) align 4 %s) { +define i32 @tc42(ptr noundef byval(%struct.ST) align 4 %s) { ; CHECK-LABEL: tc42: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) @@ -140,14 +132,13 @@ define i32 @tc42(%struct.ST* noundef byval(%struct.ST) align 4 %s) { ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 %shr = ashr i32 %0, 16 ret i32 %shr } ; Function Attrs: nounwind -define i32 @tc43(%struct.ST* noundef byval(%struct.ST) align 4 %s) { +define i32 @tc43(ptr noundef byval(%struct.ST) align 4 %s) { ; CHECK-LABEL: tc43: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) @@ -155,27 +146,25 @@ define i32 @tc43(%struct.ST* noundef byval(%struct.ST) align 4 %s) { ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 %shr = ashr i32 %0, 8 ret i32 %shr } ; Function Attrs: nounwind -define i32 @utc44(%struct.UST* noundef byval(%struct.UST) align 4 %s) { +define i32 @utc44(ptr noundef byval(%struct.UST) align 4 %s) { ; CHECK-LABEL: utc44: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 ret i32 %0 } ; Function Attrs: nounwind -define i32 @utc41(%struct.UST* noundef byval(%struct.UST) align 4 %s) { +define i32 @utc41(ptr noundef byval(%struct.UST) align 4 %s) { ; CHECK-LABEL: utc41: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) @@ -183,14 +172,13 @@ define i32 @utc41(%struct.UST* noundef byval(%struct.UST) align 4 %s) { ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 %shr = lshr i32 %0, 24 ret i32 %shr } ; Function Attrs: nounwind -define i32 @utc42(%struct.UST* noundef byval(%struct.UST) align 4 %s) { +define i32 @utc42(ptr noundef byval(%struct.UST) align 4 %s) { ; CHECK-LABEL: utc42: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) @@ -198,14 +186,13 @@ define i32 @utc42(%struct.UST* noundef byval(%struct.UST) align 4 %s) { ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 %shr = lshr i32 %0, 16 ret i32 %shr } ; Function Attrs: nounwind -define i32 @utc43(%struct.UST* noundef byval(%struct.UST) align 4 %s) { +define i32 @utc43(ptr noundef byval(%struct.UST) align 4 %s) { ; CHECK-LABEL: utc43: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: stw 3, 24(1) @@ -213,8 +200,7 @@ define i32 @utc43(%struct.UST* noundef byval(%struct.UST) align 4 %s) { ; CHECK-NEXT: stw 4, 28(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 4 + %0 = load i32, ptr %s, align 4 %shr = lshr i32 %0, 8 ret i32 %shr } diff --git a/llvm/test/CodeGen/PowerPC/store-forward-be64.ll b/llvm/test/CodeGen/PowerPC/store-forward-be64.ll index 332dd6f..32e67c7 100644 --- a/llvm/test/CodeGen/PowerPC/store-forward-be64.ll +++ b/llvm/test/CodeGen/PowerPC/store-forward-be64.ll @@ -14,7 +14,7 @@ target triple = "powerpc64-ibm-aix7.2.0.0" %struct.ULST = type { i64, i64 } ; Function Attrs: nounwind -define zeroext i32 @ustc1(%struct.USST* noundef byval(%struct.USST) align 8 %s) { +define zeroext i32 @ustc1(ptr noundef byval(%struct.USST) align 8 %s) { ; CHECK-LABEL: ustc1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -22,15 +22,14 @@ define zeroext i32 @ustc1(%struct.USST* noundef byval(%struct.USST) align 8 %s) ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.USST, %struct.USST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 8 + %0 = load i16, ptr %s, align 8 %conv = zext i16 %0 to i32 %shr = ashr i32 %conv, 8 ret i32 %shr } ; Function Attrs: nounwind -define zeroext i32 @ustc2(%struct.USST* noundef byval(%struct.USST) align 8 %s) { +define zeroext i32 @ustc2(ptr noundef byval(%struct.USST) align 8 %s) { ; CHECK-LABEL: ustc2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -38,14 +37,13 @@ define zeroext i32 @ustc2(%struct.USST* noundef byval(%struct.USST) align 8 %s) ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.USST, %struct.USST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 8 + %0 = load i16, ptr %s, align 8 %conv = zext i16 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define signext i32 @stc1(%struct.SST* noundef byval(%struct.SST) align 8 %s) { +define signext i32 @stc1(ptr noundef byval(%struct.SST) align 8 %s) { ; CHECK-LABEL: stc1: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -55,15 +53,14 @@ define signext i32 @stc1(%struct.SST* noundef byval(%struct.SST) align 8 %s) { ; CHECK-NEXT: srawi 3, 3, 8 ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.SST, %struct.SST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 8 + %0 = load i16, ptr %s, align 8 %conv = sext i16 %0 to i32 %shr = ashr i32 %conv, 8 ret i32 %shr } ; Function Attrs: nounwind -define signext i32 @stc2(%struct.SST* noundef byval(%struct.SST) align 8 %s) { +define signext i32 @stc2(ptr noundef byval(%struct.SST) align 8 %s) { ; CHECK-LABEL: stc2: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -71,14 +68,13 @@ define signext i32 @stc2(%struct.SST* noundef byval(%struct.SST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.SST, %struct.SST* %s, i32 0, i32 0 - %0 = load i16, i16* %a, align 8 + %0 = load i16, ptr %s, align 8 %conv = sext i16 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define signext i32 @ctc(%struct.CST* noundef byval(%struct.CST) align 8 %s) { +define signext i32 @ctc(ptr noundef byval(%struct.CST) align 8 %s) { ; CHECK-LABEL: ctc: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -86,14 +82,13 @@ define signext i32 @ctc(%struct.CST* noundef byval(%struct.CST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.CST, %struct.CST* %s, i32 0, i32 0 - %0 = load i8, i8* %a, align 8 + %0 = load i8, ptr %s, align 8 %conv = zext i8 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define signext i32 @sctc(%struct.SCST* noundef byval(%struct.SCST) align 8 %s) { +define signext i32 @sctc(ptr noundef byval(%struct.SCST) align 8 %s) { ; CHECK-LABEL: sctc: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -101,14 +96,13 @@ define signext i32 @sctc(%struct.SCST* noundef byval(%struct.SCST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.SCST, %struct.SCST* %s, i32 0, i32 0 - %0 = load i8, i8* %a, align 8 + %0 = load i8, ptr %s, align 8 %conv = sext i8 %0 to i32 ret i32 %conv } ; Function Attrs: nounwind -define signext i32 @tc44(%struct.ST* noundef byval(%struct.ST) align 8 %s) { +define signext i32 @tc44(ptr noundef byval(%struct.ST) align 8 %s) { ; CHECK-LABEL: tc44: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -116,13 +110,12 @@ define signext i32 @tc44(%struct.ST* noundef byval(%struct.ST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 ret i32 %0 } ; Function Attrs: nounwind -define signext i32 @tc41(%struct.ST* noundef byval(%struct.ST) align 8 %s) { +define signext i32 @tc41(ptr noundef byval(%struct.ST) align 8 %s) { ; CHECK-LABEL: tc41: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -130,14 +123,13 @@ define signext i32 @tc41(%struct.ST* noundef byval(%struct.ST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 %shr = ashr i32 %0, 24 ret i32 %shr } ; Function Attrs: nounwind -define signext i32 @tc42(%struct.ST* noundef byval(%struct.ST) align 8 %s) { +define signext i32 @tc42(ptr noundef byval(%struct.ST) align 8 %s) { ; CHECK-LABEL: tc42: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -145,14 +137,13 @@ define signext i32 @tc42(%struct.ST* noundef byval(%struct.ST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 %shr = ashr i32 %0, 16 ret i32 %shr } ; Function Attrs: nounwind -define signext i32 @tc43(%struct.ST* noundef byval(%struct.ST) align 8 %s) { +define signext i32 @tc43(ptr noundef byval(%struct.ST) align 8 %s) { ; CHECK-LABEL: tc43: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -160,14 +151,13 @@ define signext i32 @tc43(%struct.ST* noundef byval(%struct.ST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ST, %struct.ST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 %shr = ashr i32 %0, 8 ret i32 %shr } ; Function Attrs: nounwind -define zeroext i32 @utc44(%struct.UST* noundef byval(%struct.UST) align 8 %s) #0 { +define zeroext i32 @utc44(ptr noundef byval(%struct.UST) align 8 %s) #0 { ; CHECK-LABEL: utc44: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -175,13 +165,12 @@ define zeroext i32 @utc44(%struct.UST* noundef byval(%struct.UST) align 8 %s) #0 ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 ret i32 %0 } ; Function Attrs: nounwind -define zeroext i32 @utc41(%struct.UST* noundef byval(%struct.UST) align 8 %s) { +define zeroext i32 @utc41(ptr noundef byval(%struct.UST) align 8 %s) { ; CHECK-LABEL: utc41: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -189,14 +178,13 @@ define zeroext i32 @utc41(%struct.UST* noundef byval(%struct.UST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 %shr = lshr i32 %0, 24 ret i32 %shr } ; Function Attrs: nounwind -define zeroext i32 @utc42(%struct.UST* noundef byval(%struct.UST) align 8 %s) { +define zeroext i32 @utc42(ptr noundef byval(%struct.UST) align 8 %s) { ; CHECK-LABEL: utc42: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -204,14 +192,13 @@ define zeroext i32 @utc42(%struct.UST* noundef byval(%struct.UST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 %shr = lshr i32 %0, 16 ret i32 %shr } ; Function Attrs: nounwind -define zeroext i32 @utc43(%struct.UST* noundef byval(%struct.UST) align 8 %s) { +define zeroext i32 @utc43(ptr noundef byval(%struct.UST) align 8 %s) { ; CHECK-LABEL: utc43: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 4, 3 @@ -219,14 +206,13 @@ define zeroext i32 @utc43(%struct.UST* noundef byval(%struct.UST) align 8 %s) { ; CHECK-NEXT: std 4, 48(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.UST, %struct.UST* %s, i32 0, i32 0 - %0 = load i32, i32* %a, align 8 + %0 = load i32, ptr %s, align 8 %shr = lshr i32 %0, 8 ret i32 %shr } ; Function Attrs: nounwind -define i64 @ltc88(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc88(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc88: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -235,14 +221,13 @@ define i64 @ltc88(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 8 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ltc86(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc86(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc86: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -251,14 +236,13 @@ define i64 @ltc86(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 16 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ltc85(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc85(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc85: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -267,14 +251,13 @@ define i64 @ltc85(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 24 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ltc84(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc84(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc84: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -283,14 +266,13 @@ define i64 @ltc84(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 32 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ltc83(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc83(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc83: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -299,14 +281,13 @@ define i64 @ltc83(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 40 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ltc82(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc82(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc82: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -315,14 +296,13 @@ define i64 @ltc82(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 48 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ltc81(%struct.LST* noundef byval(%struct.LST) align 8 %s) { +define i64 @ltc81(ptr noundef byval(%struct.LST) align 8 %s) { ; CHECK-LABEL: ltc81: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -331,27 +311,25 @@ define i64 @ltc81(%struct.LST* noundef byval(%struct.LST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.LST, %struct.LST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = ashr i64 %0, 56 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc88(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc88(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc88: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: std 3, 48(1) ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 ret i64 %0 } ; Function Attrs: nounwind -define i64 @ultc87(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc87(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc87: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -360,14 +338,13 @@ define i64 @ultc87(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 8 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc86(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc86(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc86: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -376,14 +353,13 @@ define i64 @ultc86(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 16 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc85(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc85(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc85: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -392,14 +368,13 @@ define i64 @ultc85(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 24 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc84(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc84(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc84: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -408,14 +383,13 @@ define i64 @ultc84(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 32 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc83(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc83(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc83: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -424,14 +398,13 @@ define i64 @ultc83(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 40 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc82(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc82(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc82: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -440,14 +413,13 @@ define i64 @ultc82(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 48 ret i64 %shr } ; Function Attrs: nounwind -define i64 @ultc81(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { +define i64 @ultc81(ptr noundef byval(%struct.ULST) align 8 %s) { ; CHECK-LABEL: ultc81: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: mr 5, 3 @@ -456,8 +428,7 @@ define i64 @ultc81(%struct.ULST* noundef byval(%struct.ULST) align 8 %s) { ; CHECK-NEXT: std 4, 56(1) ; CHECK-NEXT: blr entry: - %a = getelementptr inbounds %struct.ULST, %struct.ULST* %s, i32 0, i32 0 - %0 = load i64, i64* %a, align 8 + %0 = load i64, ptr %s, align 8 %shr = lshr i64 %0, 56 ret i64 %shr } diff --git a/llvm/test/CodeGen/PowerPC/store-load-fwd.ll b/llvm/test/CodeGen/PowerPC/store-load-fwd.ll index 3d0b809..9bb78a7 100644 --- a/llvm/test/CodeGen/PowerPC/store-load-fwd.ll +++ b/llvm/test/CodeGen/PowerPC/store-load-fwd.ll @@ -1,8 +1,8 @@ ; RUN: llc -verify-machineinstrs < %s -mtriple=ppc32-- | not grep lwz -define i32 @test(i32* %P) { - store i32 1, i32* %P - %V = load i32, i32* %P ; [#uses=1] +define i32 @test(ptr %P) { + store i32 1, ptr %P + %V = load i32, ptr %P ; [#uses=1] ret i32 %V } diff --git a/llvm/test/CodeGen/PowerPC/store-rightmost-vector-elt.ll b/llvm/test/CodeGen/PowerPC/store-rightmost-vector-elt.ll index 5fbcafec..04689d8 100644 --- a/llvm/test/CodeGen/PowerPC/store-rightmost-vector-elt.ll +++ b/llvm/test/CodeGen/PowerPC/store-rightmost-vector-elt.ll @@ -7,7 +7,7 @@ ; RUN: -mcpu=pwr10 -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names \ ; RUN: < %s | FileCheck %s --check-prefix=CHECK-BE -define void @test1(<4 x i32> %A, i32* %a) { +define void @test1(<4 x i32> %A, ptr %a) { ; CHECK-LE-LABEL: test1: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: stxvrwx v2, 0, r5 @@ -20,11 +20,11 @@ define void @test1(<4 x i32> %A, i32* %a) { ; CHECK-BE-NEXT: blr entry: %vecext = extractelement <4 x i32> %A, i32 0 - store i32 %vecext, i32* %a, align 4 + store i32 %vecext, ptr %a, align 4 ret void } -define void @test2(<4 x float> %A, float* %a) { +define void @test2(<4 x float> %A, ptr %a) { ; CHECK-LE-LABEL: test2: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: stxvrwx v2, 0, r5 @@ -37,11 +37,11 @@ define void @test2(<4 x float> %A, float* %a) { ; CHECK-BE-NEXT: blr entry: %vecext = extractelement <4 x float> %A, i32 0 - store float %vecext, float* %a, align 4 + store float %vecext, ptr %a, align 4 ret void } -define void @test3(<2 x double> %A, double* %a) { +define void @test3(<2 x double> %A, ptr %a) { ; CHECK-LE-LABEL: test3: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: stxvrdx v2, 0, r5 @@ -53,11 +53,11 @@ define void @test3(<2 x double> %A, double* %a) { ; CHECK-BE-NEXT: blr entry: %vecext = extractelement <2 x double> %A, i32 0 - store double %vecext, double* %a, align 8 + store double %vecext, ptr %a, align 8 ret void } -define void @test4(<2 x i64> %A, i64* %a) { +define void @test4(<2 x i64> %A, ptr %a) { ; CHECK-LE-LABEL: test4: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: stxvrdx v2, 0, r5 @@ -69,11 +69,11 @@ define void @test4(<2 x i64> %A, i64* %a) { ; CHECK-BE-NEXT: blr entry: %vecext = extractelement <2 x i64> %A, i32 0 - store i64 %vecext, i64* %a, align 8 + store i64 %vecext, ptr %a, align 8 ret void } -define void @test5(<8 x i16> %A, i16* %a) { +define void @test5(<8 x i16> %A, ptr %a) { ; CHECK-LE-LABEL: test5: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: stxvrhx v2, 0, r5 @@ -86,11 +86,11 @@ define void @test5(<8 x i16> %A, i16* %a) { ; CHECK-BE-NEXT: blr entry: %vecext = extractelement <8 x i16> %A, i32 0 - store i16 %vecext, i16* %a, align 2 + store i16 %vecext, ptr %a, align 2 ret void } -define void @test6(<16 x i8> %A, i8* %a) { +define void @test6(<16 x i8> %A, ptr %a) { ; CHECK-LE-LABEL: test6: ; CHECK-LE: # %bb.0: # %entry ; CHECK-LE-NEXT: stxvrbx v2, 0, r5 @@ -103,7 +103,7 @@ define void @test6(<16 x i8> %A, i8* %a) { ; CHECK-BE-NEXT: blr entry: %vecext = extractelement <16 x i8> %A, i32 0 - store i8 %vecext, i8* %a, align 1 + store i8 %vecext, ptr %a, align 1 ret void } diff --git a/llvm/test/CodeGen/PowerPC/store-update.ll b/llvm/test/CodeGen/PowerPC/store-update.ll index 80a234e..882eb2a 100644 --- a/llvm/test/CodeGen/PowerPC/store-update.ll +++ b/llvm/test/CodeGen/PowerPC/store-update.ll @@ -3,44 +3,44 @@ target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" target triple = "powerpc64-unknown-linux-gnu" -define i8* @test_stbu(i8* %base, i8 zeroext %val) nounwind { +define ptr @test_stbu(ptr %base, i8 zeroext %val) nounwind { entry: - %arrayidx = getelementptr inbounds i8, i8* %base, i64 16 - store i8 %val, i8* %arrayidx, align 1 - ret i8* %arrayidx + %arrayidx = getelementptr inbounds i8, ptr %base, i64 16 + store i8 %val, ptr %arrayidx, align 1 + ret ptr %arrayidx } ; CHECK: @test_stbu ; CHECK: %entry ; CHECK-NEXT: stbu ; CHECK-NEXT: blr -define i8* @test_stbux(i8* %base, i8 zeroext %val, i64 %offset) nounwind { +define ptr @test_stbux(ptr %base, i8 zeroext %val, i64 %offset) nounwind { entry: - %arrayidx = getelementptr inbounds i8, i8* %base, i64 %offset - store i8 %val, i8* %arrayidx, align 1 - ret i8* %arrayidx + %arrayidx = getelementptr inbounds i8, ptr %base, i64 %offset + store i8 %val, ptr %arrayidx, align 1 + ret ptr %arrayidx } ; CHECK: @test_stbux ; CHECK: %entry ; CHECK-NEXT: stbux ; CHECK-NEXT: blr -define i16* @test_sthu(i16* %base, i16 zeroext %val) nounwind { +define ptr @test_sthu(ptr %base, i16 zeroext %val) nounwind { entry: - %arrayidx = getelementptr inbounds i16, i16* %base, i64 16 - store i16 %val, i16* %arrayidx, align 2 - ret i16* %arrayidx + %arrayidx = getelementptr inbounds i16, ptr %base, i64 16 + store i16 %val, ptr %arrayidx, align 2 + ret ptr %arrayidx } ; CHECK: @test_sthu ; CHECK: %entry ; CHECK-NEXT: sthu ; CHECK-NEXT: blr -define i16* @test_sthux(i16* %base, i16 zeroext %val, i64 %offset) nounwind { +define ptr @test_sthux(ptr %base, i16 zeroext %val, i64 %offset) nounwind { entry: - %arrayidx = getelementptr inbounds i16, i16* %base, i64 %offset - store i16 %val, i16* %arrayidx, align 2 - ret i16* %arrayidx + %arrayidx = getelementptr inbounds i16, ptr %base, i64 %offset + store i16 %val, ptr %arrayidx, align 2 + ret ptr %arrayidx } ; CHECK: @test_sthux ; CHECK: %entry @@ -48,22 +48,22 @@ entry: ; CHECK-NEXT: sthux ; CHECK-NEXT: blr -define i32* @test_stwu(i32* %base, i32 zeroext %val) nounwind { +define ptr @test_stwu(ptr %base, i32 zeroext %val) nounwind { entry: - %arrayidx = getelementptr inbounds i32, i32* %base, i64 16 - store i32 %val, i32* %arrayidx, align 4 - ret i32* %arrayidx + %arrayidx = getelementptr inbounds i32, ptr %base, i64 16 + store i32 %val, ptr %arrayidx, align 4 + ret ptr %arrayidx } ; CHECK: @test_stwu ; CHECK: %entry ; CHECK-NEXT: stwu ; CHECK-NEXT: blr -define i32* @test_stwux(i32* %base, i32 zeroext %val, i64 %offset) nounwind { +define ptr @test_stwux(ptr %base, i32 zeroext %val, i64 %offset) nounwind { entry: - %arrayidx = getelementptr inbounds i32, i32* %base, i64 %offset - store i32 %val, i32* %arrayidx, align 4 - ret i32* %arrayidx + %arrayidx = getelementptr inbounds i32, ptr %base, i64 %offset + store i32 %val, ptr %arrayidx, align 4 + ret ptr %arrayidx } ; CHECK: @test_stwux ; CHECK: %entry @@ -71,48 +71,48 @@ entry: ; CHECK-NEXT: stwux ; CHECK-NEXT: blr -define i8* @test_stbu8(i8* %base, i64 %val) nounwind { +define ptr @test_stbu8(ptr %base, i64 %val) nounwind { entry: %conv = trunc i64 %val to i8 - %arrayidx = getelementptr inbounds i8, i8* %base, i64 16 - store i8 %conv, i8* %arrayidx, align 1 - ret i8* %arrayidx + %arrayidx = getelementptr inbounds i8, ptr %base, i64 16 + store i8 %conv, ptr %arrayidx, align 1 + ret ptr %arrayidx } ; CHECK: @test_stbu8 ; CHECK: %entry ; CHECK-NEXT: stbu ; CHECK-NEXT: blr -define i8* @test_stbux8(i8* %base, i64 %val, i64 %offset) nounwind { +define ptr @test_stbux8(ptr %base, i64 %val, i64 %offset) nounwind { entry: %conv = trunc i64 %val to i8 - %arrayidx = getelementptr inbounds i8, i8* %base, i64 %offset - store i8 %conv, i8* %arrayidx, align 1 - ret i8* %arrayidx + %arrayidx = getelementptr inbounds i8, ptr %base, i64 %offset + store i8 %conv, ptr %arrayidx, align 1 + ret ptr %arrayidx } ; CHECK: @test_stbux8 ; CHECK: %entry ; CHECK-NEXT: stbux ; CHECK-NEXT: blr -define i16* @test_sthu8(i16* %base, i64 %val) nounwind { +define ptr @test_sthu8(ptr %base, i64 %val) nounwind { entry: %conv = trunc i64 %val to i16 - %arrayidx = getelementptr inbounds i16, i16* %base, i64 16 - store i16 %conv, i16* %arrayidx, align 2 - ret i16* %arrayidx + %arrayidx = getelementptr inbounds i16, ptr %base, i64 16 + store i16 %conv, ptr %arrayidx, align 2 + ret ptr %arrayidx } ; CHECK: @test_sthu ; CHECK: %entry ; CHECK-NEXT: sthu ; CHECK-NEXT: blr -define i16* @test_sthux8(i16* %base, i64 %val, i64 %offset) nounwind { +define ptr @test_sthux8(ptr %base, i64 %val, i64 %offset) nounwind { entry: %conv = trunc i64 %val to i16 - %arrayidx = getelementptr inbounds i16, i16* %base, i64 %offset - store i16 %conv, i16* %arrayidx, align 2 - ret i16* %arrayidx + %arrayidx = getelementptr inbounds i16, ptr %base, i64 %offset + store i16 %conv, ptr %arrayidx, align 2 + ret ptr %arrayidx } ; CHECK: @test_sthux ; CHECK: %entry @@ -120,24 +120,24 @@ entry: ; CHECK-NEXT: sthux ; CHECK-NEXT: blr -define i32* @test_stwu8(i32* %base, i64 %val) nounwind { +define ptr @test_stwu8(ptr %base, i64 %val) nounwind { entry: %conv = trunc i64 %val to i32 - %arrayidx = getelementptr inbounds i32, i32* %base, i64 16 - store i32 %conv, i32* %arrayidx, align 4 - ret i32* %arrayidx + %arrayidx = getelementptr inbounds i32, ptr %base, i64 16 + store i32 %conv, ptr %arrayidx, align 4 + ret ptr %arrayidx } ; CHECK: @test_stwu ; CHECK: %entry ; CHECK-NEXT: stwu ; CHECK-NEXT: blr -define i32* @test_stwux8(i32* %base, i64 %val, i64 %offset) nounwind { +define ptr @test_stwux8(ptr %base, i64 %val, i64 %offset) nounwind { entry: %conv = trunc i64 %val to i32 - %arrayidx = getelementptr inbounds i32, i32* %base, i64 %offset - store i32 %conv, i32* %arrayidx, align 4 - ret i32* %arrayidx + %arrayidx = getelementptr inbounds i32, ptr %base, i64 %offset + store i32 %conv, ptr %arrayidx, align 4 + ret ptr %arrayidx } ; CHECK: @test_stwux ; CHECK: %entry @@ -145,22 +145,22 @@ entry: ; CHECK-NEXT: stwux ; CHECK-NEXT: blr -define i64* @test_stdu(i64* %base, i64 %val) nounwind { +define ptr @test_stdu(ptr %base, i64 %val) nounwind { entry: - %arrayidx = getelementptr inbounds i64, i64* %base, i64 16 - store i64 %val, i64* %arrayidx, align 8 - ret i64* %arrayidx + %arrayidx = getelementptr inbounds i64, ptr %base, i64 16 + store i64 %val, ptr %arrayidx, align 8 + ret ptr %arrayidx } ; CHECK: @test_stdu ; CHECK: %entry ; CHECK-NEXT: stdu ; CHECK-NEXT: blr -define i64* @test_stdux(i64* %base, i64 %val, i64 %offset) nounwind { +define ptr @test_stdux(ptr %base, i64 %val, i64 %offset) nounwind { entry: - %arrayidx = getelementptr inbounds i64, i64* %base, i64 %offset - store i64 %val, i64* %arrayidx, align 8 - ret i64* %arrayidx + %arrayidx = getelementptr inbounds i64, ptr %base, i64 %offset + store i64 %val, ptr %arrayidx, align 8 + ret ptr %arrayidx } ; CHECK: @test_stdux ; CHECK: %entry diff --git a/llvm/test/CodeGen/PowerPC/store_fptoi.ll b/llvm/test/CodeGen/PowerPC/store_fptoi.ll index eda4443..df7d318 100644 --- a/llvm/test/CodeGen/PowerPC/store_fptoi.ll +++ b/llvm/test/CodeGen/PowerPC/store_fptoi.ll @@ -9,7 +9,7 @@ ; ========================================== ; Function Attrs: norecurse nounwind -define void @qpConv2sdw(fp128* nocapture readonly %a, i64* nocapture %b) { +define void @qpConv2sdw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: qpConv2sdw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv 2, 0(3) @@ -38,16 +38,16 @@ define void @qpConv2sdw(fp128* nocapture readonly %a, i64* nocapture %b) { ; CHECK-PWR8-NEXT: mtlr 0 ; CHECK-PWR8-NEXT: blr entry: - %0 = load fp128, fp128* %a, align 16 + %0 = load fp128, ptr %a, align 16 %conv = fptosi fp128 %0 to i64 - store i64 %conv, i64* %b, align 8 + store i64 %conv, ptr %b, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @qpConv2sw(fp128* nocapture readonly %a, i32* nocapture %b) { +define void @qpConv2sw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: qpConv2sw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv 2, 0(3) @@ -76,16 +76,16 @@ define void @qpConv2sw(fp128* nocapture readonly %a, i32* nocapture %b) { ; CHECK-PWR8-NEXT: mtlr 0 ; CHECK-PWR8-NEXT: blr entry: - %0 = load fp128, fp128* %a, align 16 + %0 = load fp128, ptr %a, align 16 %conv = fptosi fp128 %0 to i32 - store i32 %conv, i32* %b, align 4 + store i32 %conv, ptr %b, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @qpConv2udw(fp128* nocapture readonly %a, i64* nocapture %b) { +define void @qpConv2udw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: qpConv2udw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv 2, 0(3) @@ -114,16 +114,16 @@ define void @qpConv2udw(fp128* nocapture readonly %a, i64* nocapture %b) { ; CHECK-PWR8-NEXT: mtlr 0 ; CHECK-PWR8-NEXT: blr entry: - %0 = load fp128, fp128* %a, align 16 + %0 = load fp128, ptr %a, align 16 %conv = fptoui fp128 %0 to i64 - store i64 %conv, i64* %b, align 8 + store i64 %conv, ptr %b, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @qpConv2uw(fp128* nocapture readonly %a, i32* nocapture %b) { +define void @qpConv2uw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: qpConv2uw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lxv 2, 0(3) @@ -152,16 +152,16 @@ define void @qpConv2uw(fp128* nocapture readonly %a, i32* nocapture %b) { ; CHECK-PWR8-NEXT: mtlr 0 ; CHECK-PWR8-NEXT: blr entry: - %0 = load fp128, fp128* %a, align 16 + %0 = load fp128, ptr %a, align 16 %conv = fptoui fp128 %0 to i32 - store i32 %conv, i32* %b, align 4 + store i32 %conv, ptr %b, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2sdw(double* nocapture readonly %a, i64* nocapture %b) { +define void @dpConv2sdw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2sdw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -176,16 +176,16 @@ define void @dpConv2sdw(double* nocapture readonly %a, i64* nocapture %b) { ; CHECK-PWR8-NEXT: stxsdx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i64 - store i64 %conv, i64* %b, align 8 + store i64 %conv, ptr %b, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2sw(double* nocapture readonly %a, i32* nocapture %b) { +define void @dpConv2sw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2sw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -200,16 +200,16 @@ define void @dpConv2sw(double* nocapture readonly %a, i32* nocapture %b) { ; CHECK-PWR8-NEXT: stfiwx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i32 - store i32 %conv, i32* %b, align 4 + store i32 %conv, ptr %b, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2shw(double* nocapture readonly %a, i16* nocapture %b) { +define void @dpConv2shw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2shw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -225,16 +225,16 @@ define void @dpConv2shw(double* nocapture readonly %a, i16* nocapture %b) { ; CHECK-PWR8-NEXT: sth 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i16 - store i16 %conv, i16* %b, align 2 + store i16 %conv, ptr %b, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2sb(double* nocapture readonly %a, i8* nocapture %b) { +define void @dpConv2sb(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2sb: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -250,16 +250,16 @@ define void @dpConv2sb(double* nocapture readonly %a, i8* nocapture %b) { ; CHECK-PWR8-NEXT: stb 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i8 - store i8 %conv, i8* %b, align 1 + store i8 %conv, ptr %b, align 1 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2sdw(float* nocapture readonly %a, i64* nocapture %b) { +define void @spConv2sdw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2sdw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -274,16 +274,16 @@ define void @spConv2sdw(float* nocapture readonly %a, i64* nocapture %b) { ; CHECK-PWR8-NEXT: stxsdx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i64 - store i64 %conv, i64* %b, align 8 + store i64 %conv, ptr %b, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2sw(float* nocapture readonly %a, i32* nocapture %b) { +define void @spConv2sw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2sw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -298,16 +298,16 @@ define void @spConv2sw(float* nocapture readonly %a, i32* nocapture %b) { ; CHECK-PWR8-NEXT: stfiwx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i32 - store i32 %conv, i32* %b, align 4 + store i32 %conv, ptr %b, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2shw(float* nocapture readonly %a, i16* nocapture %b) { +define void @spConv2shw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2shw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -323,16 +323,16 @@ define void @spConv2shw(float* nocapture readonly %a, i16* nocapture %b) { ; CHECK-PWR8-NEXT: sth 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i16 - store i16 %conv, i16* %b, align 2 + store i16 %conv, ptr %b, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2sb(float* nocapture readonly %a, i8* nocapture %b) { +define void @spConv2sb(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2sb: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -348,16 +348,16 @@ define void @spConv2sb(float* nocapture readonly %a, i8* nocapture %b) { ; CHECK-PWR8-NEXT: stb 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i8 - store i8 %conv, i8* %b, align 1 + store i8 %conv, ptr %b, align 1 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2sdw_x(double* nocapture readonly %a, i64* nocapture %b, +define void @dpConv2sdw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2sdw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -375,18 +375,18 @@ define void @dpConv2sdw_x(double* nocapture readonly %a, i64* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i64 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i64, i64* %b, i64 %idxprom - store i64 %conv, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %b, i64 %idxprom + store i64 %conv, ptr %arrayidx, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2sw_x(double* nocapture readonly %a, i32* nocapture %b, +define void @dpConv2sw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2sw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -404,18 +404,18 @@ define void @dpConv2sw_x(double* nocapture readonly %a, i32* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i32 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i32, i32* %b, i64 %idxprom - store i32 %conv, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %b, i64 %idxprom + store i32 %conv, ptr %arrayidx, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2shw_x(double* nocapture readonly %a, i16* nocapture %b, +define void @dpConv2shw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2shw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -434,18 +434,18 @@ define void @dpConv2shw_x(double* nocapture readonly %a, i16* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i16 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i16, i16* %b, i64 %idxprom - store i16 %conv, i16* %arrayidx, align 2 + %arrayidx = getelementptr inbounds i16, ptr %b, i64 %idxprom + store i16 %conv, ptr %arrayidx, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2sb_x(double* nocapture readonly %a, i8* nocapture %b, +define void @dpConv2sb_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2sb_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -462,18 +462,18 @@ define void @dpConv2sb_x(double* nocapture readonly %a, i8* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptosi double %0 to i8 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i8, i8* %b, i64 %idxprom - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %b, i64 %idxprom + store i8 %conv, ptr %arrayidx, align 1 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2sdw_x(float* nocapture readonly %a, i64* nocapture %b, +define void @spConv2sdw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2sdw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -491,18 +491,18 @@ define void @spConv2sdw_x(float* nocapture readonly %a, i64* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i64 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i64, i64* %b, i64 %idxprom - store i64 %conv, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %b, i64 %idxprom + store i64 %conv, ptr %arrayidx, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2sw_x(float* nocapture readonly %a, i32* nocapture %b, +define void @spConv2sw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2sw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -520,18 +520,18 @@ define void @spConv2sw_x(float* nocapture readonly %a, i32* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i32 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i32, i32* %b, i64 %idxprom - store i32 %conv, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %b, i64 %idxprom + store i32 %conv, ptr %arrayidx, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2shw_x(float* nocapture readonly %a, i16* nocapture %b, +define void @spConv2shw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2shw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -550,18 +550,18 @@ define void @spConv2shw_x(float* nocapture readonly %a, i16* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i16 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i16, i16* %b, i64 %idxprom - store i16 %conv, i16* %arrayidx, align 2 + %arrayidx = getelementptr inbounds i16, ptr %b, i64 %idxprom + store i16 %conv, ptr %arrayidx, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2sb_x(float* nocapture readonly %a, i8* nocapture %b, +define void @spConv2sb_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2sb_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -578,11 +578,11 @@ define void @spConv2sb_x(float* nocapture readonly %a, i8* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 signext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptosi float %0 to i8 %idxprom = sext i32 %idx to i64 - %arrayidx = getelementptr inbounds i8, i8* %b, i64 %idxprom - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %b, i64 %idxprom + store i8 %conv, ptr %arrayidx, align 1 ret void @@ -593,7 +593,7 @@ entry: ; ========================================== ; Function Attrs: norecurse nounwind -define void @dpConv2udw(double* nocapture readonly %a, i64* nocapture %b) { +define void @dpConv2udw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2udw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -608,16 +608,16 @@ define void @dpConv2udw(double* nocapture readonly %a, i64* nocapture %b) { ; CHECK-PWR8-NEXT: stxsdx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i64 - store i64 %conv, i64* %b, align 8 + store i64 %conv, ptr %b, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2uw(double* nocapture readonly %a, i32* nocapture %b) { +define void @dpConv2uw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2uw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -632,16 +632,16 @@ define void @dpConv2uw(double* nocapture readonly %a, i32* nocapture %b) { ; CHECK-PWR8-NEXT: stfiwx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i32 - store i32 %conv, i32* %b, align 4 + store i32 %conv, ptr %b, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2uhw(double* nocapture readonly %a, i16* nocapture %b) { +define void @dpConv2uhw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2uhw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -657,16 +657,16 @@ define void @dpConv2uhw(double* nocapture readonly %a, i16* nocapture %b) { ; CHECK-PWR8-NEXT: sth 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i16 - store i16 %conv, i16* %b, align 2 + store i16 %conv, ptr %b, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2ub(double* nocapture readonly %a, i8* nocapture %b) { +define void @dpConv2ub(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: dpConv2ub: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -682,16 +682,16 @@ define void @dpConv2ub(double* nocapture readonly %a, i8* nocapture %b) { ; CHECK-PWR8-NEXT: stb 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i8 - store i8 %conv, i8* %b, align 1 + store i8 %conv, ptr %b, align 1 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2udw(float* nocapture readonly %a, i64* nocapture %b) { +define void @spConv2udw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2udw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -706,16 +706,16 @@ define void @spConv2udw(float* nocapture readonly %a, i64* nocapture %b) { ; CHECK-PWR8-NEXT: stxsdx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i64 - store i64 %conv, i64* %b, align 8 + store i64 %conv, ptr %b, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2uw(float* nocapture readonly %a, i32* nocapture %b) { +define void @spConv2uw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2uw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -730,16 +730,16 @@ define void @spConv2uw(float* nocapture readonly %a, i32* nocapture %b) { ; CHECK-PWR8-NEXT: stfiwx 0, 0, 4 ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i32 - store i32 %conv, i32* %b, align 4 + store i32 %conv, ptr %b, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2uhw(float* nocapture readonly %a, i16* nocapture %b) { +define void @spConv2uhw(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2uhw: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -755,16 +755,16 @@ define void @spConv2uhw(float* nocapture readonly %a, i16* nocapture %b) { ; CHECK-PWR8-NEXT: sth 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i16 - store i16 %conv, i16* %b, align 2 + store i16 %conv, ptr %b, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2ub(float* nocapture readonly %a, i8* nocapture %b) { +define void @spConv2ub(ptr nocapture readonly %a, ptr nocapture %b) { ; CHECK-LABEL: spConv2ub: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -780,16 +780,16 @@ define void @spConv2ub(float* nocapture readonly %a, i8* nocapture %b) { ; CHECK-PWR8-NEXT: stb 3, 0(4) ; CHECK-PWR8-NEXT: blr entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i8 - store i8 %conv, i8* %b, align 1 + store i8 %conv, ptr %b, align 1 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2udw_x(double* nocapture readonly %a, i64* nocapture %b, +define void @dpConv2udw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2udw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -807,18 +807,18 @@ define void @dpConv2udw_x(double* nocapture readonly %a, i64* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i64 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i64, i64* %b, i64 %idxprom - store i64 %conv, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %b, i64 %idxprom + store i64 %conv, ptr %arrayidx, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2uw_x(double* nocapture readonly %a, i32* nocapture %b, +define void @dpConv2uw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2uw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -836,18 +836,18 @@ define void @dpConv2uw_x(double* nocapture readonly %a, i32* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i32 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i32, i32* %b, i64 %idxprom - store i32 %conv, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %b, i64 %idxprom + store i32 %conv, ptr %arrayidx, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2uhw_x(double* nocapture readonly %a, i16* nocapture %b, +define void @dpConv2uhw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2uhw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -866,18 +866,18 @@ define void @dpConv2uhw_x(double* nocapture readonly %a, i16* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i16 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i16, i16* %b, i64 %idxprom - store i16 %conv, i16* %arrayidx, align 2 + %arrayidx = getelementptr inbounds i16, ptr %b, i64 %idxprom + store i16 %conv, ptr %arrayidx, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @dpConv2ub_x(double* nocapture readonly %a, i8* nocapture %b, +define void @dpConv2ub_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: dpConv2ub_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfd 0, 0(3) @@ -894,18 +894,18 @@ define void @dpConv2ub_x(double* nocapture readonly %a, i8* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load double, double* %a, align 8 + %0 = load double, ptr %a, align 8 %conv = fptoui double %0 to i8 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i8, i8* %b, i64 %idxprom - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %b, i64 %idxprom + store i8 %conv, ptr %arrayidx, align 1 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2udw_x(float* nocapture readonly %a, i64* nocapture %b, +define void @spConv2udw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2udw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -923,18 +923,18 @@ define void @spConv2udw_x(float* nocapture readonly %a, i64* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i64 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i64, i64* %b, i64 %idxprom - store i64 %conv, i64* %arrayidx, align 8 + %arrayidx = getelementptr inbounds i64, ptr %b, i64 %idxprom + store i64 %conv, ptr %arrayidx, align 8 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2uw_x(float* nocapture readonly %a, i32* nocapture %b, +define void @spConv2uw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2uw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -952,18 +952,18 @@ define void @spConv2uw_x(float* nocapture readonly %a, i32* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i32 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i32, i32* %b, i64 %idxprom - store i32 %conv, i32* %arrayidx, align 4 + %arrayidx = getelementptr inbounds i32, ptr %b, i64 %idxprom + store i32 %conv, ptr %arrayidx, align 4 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2uhw_x(float* nocapture readonly %a, i16* nocapture %b, +define void @spConv2uhw_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2uhw_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -982,18 +982,18 @@ define void @spConv2uhw_x(float* nocapture readonly %a, i16* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i16 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i16, i16* %b, i64 %idxprom - store i16 %conv, i16* %arrayidx, align 2 + %arrayidx = getelementptr inbounds i16, ptr %b, i64 %idxprom + store i16 %conv, ptr %arrayidx, align 2 ret void } ; Function Attrs: norecurse nounwind -define void @spConv2ub_x(float* nocapture readonly %a, i8* nocapture %b, +define void @spConv2ub_x(ptr nocapture readonly %a, ptr nocapture %b, ; CHECK-LABEL: spConv2ub_x: ; CHECK: # %bb.0: # %entry ; CHECK-NEXT: lfs 0, 0(3) @@ -1010,11 +1010,11 @@ define void @spConv2ub_x(float* nocapture readonly %a, i8* nocapture %b, ; CHECK-PWR8-NEXT: blr i32 zeroext %idx) { entry: - %0 = load float, float* %a, align 4 + %0 = load float, ptr %a, align 4 %conv = fptoui float %0 to i8 %idxprom = zext i32 %idx to i64 - %arrayidx = getelementptr inbounds i8, i8* %b, i64 %idxprom - store i8 %conv, i8* %arrayidx, align 1 + %arrayidx = getelementptr inbounds i8, ptr %b, i64 %idxprom + store i8 %conv, ptr %arrayidx, align 1 ret void diff --git a/llvm/test/CodeGen/PowerPC/structsinmem.ll b/llvm/test/CodeGen/PowerPC/structsinmem.ll index bbbd95c..c9c9316 100644 --- a/llvm/test/CodeGen/PowerPC/structsinmem.ll +++ b/llvm/test/CodeGen/PowerPC/structsinmem.ll @@ -42,21 +42,14 @@ entry: %p5 = alloca %struct.s5, align 4 %p6 = alloca %struct.s6, align 4 %p7 = alloca %struct.s7, align 4 - %0 = bitcast %struct.s1* %p1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* getelementptr inbounds (%struct.s1, %struct.s1* @caller1.p1, i32 0, i32 0), i64 1, i1 false) - %1 = bitcast %struct.s2* %p2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 2 %1, i8* align 2 bitcast (%struct.s2* @caller1.p2 to i8*), i64 2, i1 false) - %2 = bitcast %struct.s3* %p3 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 2 %2, i8* align 2 bitcast ({ i16, i8, i8 }* @caller1.p3 to i8*), i64 4, i1 false) - %3 = bitcast %struct.s4* %p4 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %3, i8* align 4 bitcast (%struct.s4* @caller1.p4 to i8*), i64 4, i1 false) - %4 = bitcast %struct.s5* %p5 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %4, i8* align 4 bitcast ({ i32, i8, [3 x i8] }* @caller1.p5 to i8*), i64 8, i1 false) - %5 = bitcast %struct.s6* %p6 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %5, i8* align 4 bitcast ({ i32, i16, [2 x i8] }* @caller1.p6 to i8*), i64 8, i1 false) - %6 = bitcast %struct.s7* %p7 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %6, i8* align 4 bitcast ({ i32, i16, i8, i8 }* @caller1.p7 to i8*), i64 8, i1 false) - %call = call i32 @callee1(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, %struct.s1* byval(%struct.s1) %p1, %struct.s2* byval(%struct.s2) %p2, %struct.s3* byval(%struct.s3) %p3, %struct.s4* byval(%struct.s4) %p4, %struct.s5* byval(%struct.s5) %p5, %struct.s6* byval(%struct.s6) %p6, %struct.s7* byval(%struct.s7) %p7) + call void @llvm.memcpy.p0.p0.i64(ptr %p1, ptr @caller1.p1, i64 1, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 2 %p2, ptr align 2 @caller1.p2, i64 2, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 2 %p3, ptr align 2 @caller1.p3, i64 4, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p4, ptr align 4 @caller1.p4, i64 4, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p5, ptr align 4 @caller1.p5, i64 8, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p6, ptr align 4 @caller1.p6, i64 8, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p7, ptr align 4 @caller1.p7, i64 8, i1 false) + %call = call i32 @callee1(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, ptr byval(%struct.s1) %p1, ptr byval(%struct.s2) %p2, ptr byval(%struct.s3) %p3, ptr byval(%struct.s4) %p4, ptr byval(%struct.s5) %p5, ptr byval(%struct.s6) %p6, ptr byval(%struct.s7) %p7) ret i32 %call ; CHECK: stb {{[0-9]+}}, 119(1) @@ -68,9 +61,9 @@ entry: ; CHECK: std {{[0-9]+}}, 160(1) } -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture, i64, i1) nounwind -define internal i32 @callee1(i32 %z1, i32 %z2, i32 %z3, i32 %z4, i32 %z5, i32 %z6, i32 %z7, i32 %z8, %struct.s1* byval(%struct.s1) %v1, %struct.s2* byval(%struct.s2) %v2, %struct.s3* byval(%struct.s3) %v3, %struct.s4* byval(%struct.s4) %v4, %struct.s5* byval(%struct.s5) %v5, %struct.s6* byval(%struct.s6) %v6, %struct.s7* byval(%struct.s7) %v7) nounwind { +define internal i32 @callee1(i32 %z1, i32 %z2, i32 %z3, i32 %z4, i32 %z5, i32 %z6, i32 %z7, i32 %z8, ptr byval(%struct.s1) %v1, ptr byval(%struct.s2) %v2, ptr byval(%struct.s3) %v3, ptr byval(%struct.s4) %v4, ptr byval(%struct.s5) %v5, ptr byval(%struct.s6) %v6, ptr byval(%struct.s7) %v7) nounwind { entry: %z1.addr = alloca i32, align 4 %z2.addr = alloca i32, align 4 @@ -80,36 +73,29 @@ entry: %z6.addr = alloca i32, align 4 %z7.addr = alloca i32, align 4 %z8.addr = alloca i32, align 4 - store i32 %z1, i32* %z1.addr, align 4 - store i32 %z2, i32* %z2.addr, align 4 - store i32 %z3, i32* %z3.addr, align 4 - store i32 %z4, i32* %z4.addr, align 4 - store i32 %z5, i32* %z5.addr, align 4 - store i32 %z6, i32* %z6.addr, align 4 - store i32 %z7, i32* %z7.addr, align 4 - store i32 %z8, i32* %z8.addr, align 4 - %a = getelementptr inbounds %struct.s1, %struct.s1* %v1, i32 0, i32 0 - %0 = load i8, i8* %a, align 1 + store i32 %z1, ptr %z1.addr, align 4 + store i32 %z2, ptr %z2.addr, align 4 + store i32 %z3, ptr %z3.addr, align 4 + store i32 %z4, ptr %z4.addr, align 4 + store i32 %z5, ptr %z5.addr, align 4 + store i32 %z6, ptr %z6.addr, align 4 + store i32 %z7, ptr %z7.addr, align 4 + store i32 %z8, ptr %z8.addr, align 4 + %0 = load i8, ptr %v1, align 1 %conv = zext i8 %0 to i32 - %a1 = getelementptr inbounds %struct.s2, %struct.s2* %v2, i32 0, i32 0 - %1 = load i16, i16* %a1, align 2 + %1 = load i16, ptr %v2, align 2 %conv2 = sext i16 %1 to i32 %add = add nsw i32 %conv, %conv2 - %a3 = getelementptr inbounds %struct.s3, %struct.s3* %v3, i32 0, i32 0 - %2 = load i16, i16* %a3, align 2 + %2 = load i16, ptr %v3, align 2 %conv4 = sext i16 %2 to i32 %add5 = add nsw i32 %add, %conv4 - %a6 = getelementptr inbounds %struct.s4, %struct.s4* %v4, i32 0, i32 0 - %3 = load i32, i32* %a6, align 4 + %3 = load i32, ptr %v4, align 4 %add7 = add nsw i32 %add5, %3 - %a8 = getelementptr inbounds %struct.s5, %struct.s5* %v5, i32 0, i32 0 - %4 = load i32, i32* %a8, align 4 + %4 = load i32, ptr %v5, align 4 %add9 = add nsw i32 %add7, %4 - %a10 = getelementptr inbounds %struct.s6, %struct.s6* %v6, i32 0, i32 0 - %5 = load i32, i32* %a10, align 4 + %5 = load i32, ptr %v6, align 4 %add11 = add nsw i32 %add9, %5 - %a12 = getelementptr inbounds %struct.s7, %struct.s7* %v7, i32 0, i32 0 - %6 = load i32, i32* %a12, align 4 + %6 = load i32, ptr %v7, align 4 %add13 = add nsw i32 %add11, %6 ret i32 %add13 @@ -131,21 +117,14 @@ entry: %p5 = alloca %struct.t5, align 1 %p6 = alloca %struct.t6, align 1 %p7 = alloca %struct.t7, align 1 - %0 = bitcast %struct.t1* %p1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* getelementptr inbounds (%struct.t1, %struct.t1* @caller2.p1, i32 0, i32 0), i64 1, i1 false) - %1 = bitcast %struct.t2* %p2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* bitcast ({ i16 }* @caller2.p2 to i8*), i64 2, i1 false) - %2 = bitcast %struct.t3* %p3 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2, i8* bitcast (%struct.t3* @caller2.p3 to i8*), i64 3, i1 false) - %3 = bitcast %struct.t4* %p4 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %3, i8* bitcast ({ i32 }* @caller2.p4 to i8*), i64 4, i1 false) - %4 = bitcast %struct.t5* %p5 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* bitcast (%struct.t5* @caller2.p5 to i8*), i64 5, i1 false) - %5 = bitcast %struct.t6* %p6 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* bitcast (%struct.t6* @caller2.p6 to i8*), i64 6, i1 false) - %6 = bitcast %struct.t7* %p7 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* bitcast (%struct.t7* @caller2.p7 to i8*), i64 7, i1 false) - %call = call i32 @callee2(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, %struct.t1* byval(%struct.t1) %p1, %struct.t2* byval(%struct.t2) %p2, %struct.t3* byval(%struct.t3) %p3, %struct.t4* byval(%struct.t4) %p4, %struct.t5* byval(%struct.t5) %p5, %struct.t6* byval(%struct.t6) %p6, %struct.t7* byval(%struct.t7) %p7) + call void @llvm.memcpy.p0.p0.i64(ptr %p1, ptr @caller2.p1, i64 1, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p2, ptr @caller2.p2, i64 2, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p3, ptr @caller2.p3, i64 3, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p4, ptr @caller2.p4, i64 4, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p5, ptr @caller2.p5, i64 5, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p6, ptr @caller2.p6, i64 6, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p7, ptr @caller2.p7, i64 7, i1 false) + %call = call i32 @callee2(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, ptr byval(%struct.t1) %p1, ptr byval(%struct.t2) %p2, ptr byval(%struct.t3) %p3, ptr byval(%struct.t4) %p4, ptr byval(%struct.t5) %p5, ptr byval(%struct.t6) %p6, ptr byval(%struct.t7) %p7) ret i32 %call ; CHECK: stb {{[0-9]+}}, 119(1) @@ -161,7 +140,7 @@ entry: ; CHECK: stw {{[0-9]+}}, 161(1) } -define internal i32 @callee2(i32 %z1, i32 %z2, i32 %z3, i32 %z4, i32 %z5, i32 %z6, i32 %z7, i32 %z8, %struct.t1* byval(%struct.t1) %v1, %struct.t2* byval(%struct.t2) %v2, %struct.t3* byval(%struct.t3) %v3, %struct.t4* byval(%struct.t4) %v4, %struct.t5* byval(%struct.t5) %v5, %struct.t6* byval(%struct.t6) %v6, %struct.t7* byval(%struct.t7) %v7) nounwind { +define internal i32 @callee2(i32 %z1, i32 %z2, i32 %z3, i32 %z4, i32 %z5, i32 %z6, i32 %z7, i32 %z8, ptr byval(%struct.t1) %v1, ptr byval(%struct.t2) %v2, ptr byval(%struct.t3) %v3, ptr byval(%struct.t4) %v4, ptr byval(%struct.t5) %v5, ptr byval(%struct.t6) %v6, ptr byval(%struct.t7) %v7) nounwind { entry: %z1.addr = alloca i32, align 4 %z2.addr = alloca i32, align 4 @@ -171,36 +150,29 @@ entry: %z6.addr = alloca i32, align 4 %z7.addr = alloca i32, align 4 %z8.addr = alloca i32, align 4 - store i32 %z1, i32* %z1.addr, align 4 - store i32 %z2, i32* %z2.addr, align 4 - store i32 %z3, i32* %z3.addr, align 4 - store i32 %z4, i32* %z4.addr, align 4 - store i32 %z5, i32* %z5.addr, align 4 - store i32 %z6, i32* %z6.addr, align 4 - store i32 %z7, i32* %z7.addr, align 4 - store i32 %z8, i32* %z8.addr, align 4 - %a = getelementptr inbounds %struct.t1, %struct.t1* %v1, i32 0, i32 0 - %0 = load i8, i8* %a, align 1 + store i32 %z1, ptr %z1.addr, align 4 + store i32 %z2, ptr %z2.addr, align 4 + store i32 %z3, ptr %z3.addr, align 4 + store i32 %z4, ptr %z4.addr, align 4 + store i32 %z5, ptr %z5.addr, align 4 + store i32 %z6, ptr %z6.addr, align 4 + store i32 %z7, ptr %z7.addr, align 4 + store i32 %z8, ptr %z8.addr, align 4 + %0 = load i8, ptr %v1, align 1 %conv = zext i8 %0 to i32 - %a1 = getelementptr inbounds %struct.t2, %struct.t2* %v2, i32 0, i32 0 - %1 = load i16, i16* %a1, align 1 + %1 = load i16, ptr %v2, align 1 %conv2 = sext i16 %1 to i32 %add = add nsw i32 %conv, %conv2 - %a3 = getelementptr inbounds %struct.t3, %struct.t3* %v3, i32 0, i32 0 - %2 = load i16, i16* %a3, align 1 + %2 = load i16, ptr %v3, align 1 %conv4 = sext i16 %2 to i32 %add5 = add nsw i32 %add, %conv4 - %a6 = getelementptr inbounds %struct.t4, %struct.t4* %v4, i32 0, i32 0 - %3 = load i32, i32* %a6, align 1 + %3 = load i32, ptr %v4, align 1 %add7 = add nsw i32 %add5, %3 - %a8 = getelementptr inbounds %struct.t5, %struct.t5* %v5, i32 0, i32 0 - %4 = load i32, i32* %a8, align 1 + %4 = load i32, ptr %v5, align 1 %add9 = add nsw i32 %add7, %4 - %a10 = getelementptr inbounds %struct.t6, %struct.t6* %v6, i32 0, i32 0 - %5 = load i32, i32* %a10, align 1 + %5 = load i32, ptr %v6, align 1 %add11 = add nsw i32 %add9, %5 - %a12 = getelementptr inbounds %struct.t7, %struct.t7* %v7, i32 0, i32 0 - %6 = load i32, i32* %a12, align 1 + %6 = load i32, ptr %v7, align 1 %add13 = add nsw i32 %add11, %6 ret i32 %add13 diff --git a/llvm/test/CodeGen/PowerPC/structsinregs.ll b/llvm/test/CodeGen/PowerPC/structsinregs.ll index 9fd84c5..eb804c9 100644 --- a/llvm/test/CodeGen/PowerPC/structsinregs.ll +++ b/llvm/test/CodeGen/PowerPC/structsinregs.ll @@ -42,21 +42,14 @@ entry: %p5 = alloca %struct.s5, align 4 %p6 = alloca %struct.s6, align 4 %p7 = alloca %struct.s7, align 4 - %0 = bitcast %struct.s1* %p1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* getelementptr inbounds (%struct.s1, %struct.s1* @caller1.p1, i32 0, i32 0), i64 1, i1 false) - %1 = bitcast %struct.s2* %p2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 2 %1, i8* align 2 bitcast (%struct.s2* @caller1.p2 to i8*), i64 2, i1 false) - %2 = bitcast %struct.s3* %p3 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 2 %2, i8* align 2 bitcast ({ i16, i8, i8 }* @caller1.p3 to i8*), i64 4, i1 false) - %3 = bitcast %struct.s4* %p4 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %3, i8* align 4 bitcast (%struct.s4* @caller1.p4 to i8*), i64 4, i1 false) - %4 = bitcast %struct.s5* %p5 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %4, i8* align 4 bitcast ({ i32, i8, [3 x i8] }* @caller1.p5 to i8*), i64 8, i1 false) - %5 = bitcast %struct.s6* %p6 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %5, i8* align 4 bitcast ({ i32, i16, [2 x i8] }* @caller1.p6 to i8*), i64 8, i1 false) - %6 = bitcast %struct.s7* %p7 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %6, i8* align 4 bitcast ({ i32, i16, i8, i8 }* @caller1.p7 to i8*), i64 8, i1 false) - %call = call i32 @callee1(%struct.s1* byval(%struct.s1) %p1, %struct.s2* byval(%struct.s2) %p2, %struct.s3* byval(%struct.s3) %p3, %struct.s4* byval(%struct.s4) %p4, %struct.s5* byval(%struct.s5) %p5, %struct.s6* byval(%struct.s6) %p6, %struct.s7* byval(%struct.s7) %p7) + call void @llvm.memcpy.p0.p0.i64(ptr %p1, ptr @caller1.p1, i64 1, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 2 %p2, ptr align 2 @caller1.p2, i64 2, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 2 %p3, ptr align 2 @caller1.p3, i64 4, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p4, ptr align 4 @caller1.p4, i64 4, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p5, ptr align 4 @caller1.p5, i64 8, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p6, ptr align 4 @caller1.p6, i64 8, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %p7, ptr align 4 @caller1.p7, i64 8, i1 false) + %call = call i32 @callee1(ptr byval(%struct.s1) %p1, ptr byval(%struct.s2) %p2, ptr byval(%struct.s3) %p3, ptr byval(%struct.s4) %p4, ptr byval(%struct.s5) %p5, ptr byval(%struct.s6) %p6, ptr byval(%struct.s7) %p7) ret i32 %call ; CHECK-LABEL: caller1 @@ -69,32 +62,25 @@ entry: ; CHECK: lbz 3, 160(31) } -declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind +declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture, i64, i1) nounwind -define internal i32 @callee1(%struct.s1* byval(%struct.s1) %v1, %struct.s2* byval(%struct.s2) %v2, %struct.s3* byval(%struct.s3) %v3, %struct.s4* byval(%struct.s4) %v4, %struct.s5* byval(%struct.s5) %v5, %struct.s6* byval(%struct.s6) %v6, %struct.s7* byval(%struct.s7) %v7) nounwind { +define internal i32 @callee1(ptr byval(%struct.s1) %v1, ptr byval(%struct.s2) %v2, ptr byval(%struct.s3) %v3, ptr byval(%struct.s4) %v4, ptr byval(%struct.s5) %v5, ptr byval(%struct.s6) %v6, ptr byval(%struct.s7) %v7) nounwind { entry: - %a = getelementptr inbounds %struct.s1, %struct.s1* %v1, i32 0, i32 0 - %0 = load i8, i8* %a, align 1 + %0 = load i8, ptr %v1, align 1 %conv = zext i8 %0 to i32 - %a1 = getelementptr inbounds %struct.s2, %struct.s2* %v2, i32 0, i32 0 - %1 = load i16, i16* %a1, align 2 + %1 = load i16, ptr %v2, align 2 %conv2 = sext i16 %1 to i32 %add = add nsw i32 %conv, %conv2 - %a3 = getelementptr inbounds %struct.s3, %struct.s3* %v3, i32 0, i32 0 - %2 = load i16, i16* %a3, align 2 + %2 = load i16, ptr %v3, align 2 %conv4 = sext i16 %2 to i32 %add5 = add nsw i32 %add, %conv4 - %a6 = getelementptr inbounds %struct.s4, %struct.s4* %v4, i32 0, i32 0 - %3 = load i32, i32* %a6, align 4 + %3 = load i32, ptr %v4, align 4 %add7 = add nsw i32 %add5, %3 - %a8 = getelementptr inbounds %struct.s5, %struct.s5* %v5, i32 0, i32 0 - %4 = load i32, i32* %a8, align 4 + %4 = load i32, ptr %v5, align 4 %add9 = add nsw i32 %add7, %4 - %a10 = getelementptr inbounds %struct.s6, %struct.s6* %v6, i32 0, i32 0 - %5 = load i32, i32* %a10, align 4 + %5 = load i32, ptr %v6, align 4 %add11 = add nsw i32 %add9, %5 - %a12 = getelementptr inbounds %struct.s7, %struct.s7* %v7, i32 0, i32 0 - %6 = load i32, i32* %a12, align 4 + %6 = load i32, ptr %v7, align 4 %add13 = add nsw i32 %add11, %6 ret i32 %add13 @@ -124,21 +110,14 @@ entry: %p5 = alloca %struct.t5, align 1 %p6 = alloca %struct.t6, align 1 %p7 = alloca %struct.t7, align 1 - %0 = bitcast %struct.t1* %p1 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* getelementptr inbounds (%struct.t1, %struct.t1* @caller2.p1, i32 0, i32 0), i64 1, i1 false) - %1 = bitcast %struct.t2* %p2 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* bitcast ({ i16 }* @caller2.p2 to i8*), i64 2, i1 false) - %2 = bitcast %struct.t3* %p3 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2, i8* bitcast (%struct.t3* @caller2.p3 to i8*), i64 3, i1 false) - %3 = bitcast %struct.t4* %p4 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %3, i8* bitcast ({ i32 }* @caller2.p4 to i8*), i64 4, i1 false) - %4 = bitcast %struct.t5* %p5 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %4, i8* bitcast (%struct.t5* @caller2.p5 to i8*), i64 5, i1 false) - %5 = bitcast %struct.t6* %p6 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* bitcast (%struct.t6* @caller2.p6 to i8*), i64 6, i1 false) - %6 = bitcast %struct.t7* %p7 to i8* - call void @llvm.memcpy.p0i8.p0i8.i64(i8* %6, i8* bitcast (%struct.t7* @caller2.p7 to i8*), i64 7, i1 false) - %call = call i32 @callee2(%struct.t1* byval(%struct.t1) %p1, %struct.t2* byval(%struct.t2) %p2, %struct.t3* byval(%struct.t3) %p3, %struct.t4* byval(%struct.t4) %p4, %struct.t5* byval(%struct.t5) %p5, %struct.t6* byval(%struct.t6) %p6, %struct.t7* byval(%struct.t7) %p7) + call void @llvm.memcpy.p0.p0.i64(ptr %p1, ptr @caller2.p1, i64 1, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p2, ptr @caller2.p2, i64 2, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p3, ptr @caller2.p3, i64 3, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p4, ptr @caller2.p4, i64 4, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p5, ptr @caller2.p5, i64 5, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p6, ptr @caller2.p6, i64 6, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr %p7, ptr @caller2.p7, i64 7, i1 false) + %call = call i32 @callee2(ptr byval(%struct.t1) %p1, ptr byval(%struct.t2) %p2, ptr byval(%struct.t3) %p3, ptr byval(%struct.t4) %p4, ptr byval(%struct.t5) %p5, ptr byval(%struct.t6) %p6, ptr byval(%struct.t7) %p7) ret i32 %call ; CHECK-LABEL: caller2 @@ -159,30 +138,23 @@ entry: ; CHECK: lbz 3, 160(31) } -define internal i32 @callee2(%struct.t1* byval(%struct.t1) %v1, %struct.t2* byval(%struct.t2) %v2, %struct.t3* byval(%struct.t3) %v3, %struct.t4* byval(%struct.t4) %v4, %struct.t5* byval(%struct.t5) %v5, %struct.t6* byval(%struct.t6) %v6, %struct.t7* byval(%struct.t7) %v7) nounwind { +define internal i32 @callee2(ptr byval(%struct.t1) %v1, ptr byval(%struct.t2) %v2, ptr byval(%struct.t3) %v3, ptr byval(%struct.t4) %v4, ptr byval(%struct.t5) %v5, ptr byval(%struct.t6) %v6, ptr byval(%struct.t7) %v7) nounwind { entry: - %a = getelementptr inbounds %struct.t1, %struct.t1* %v1, i32 0, i32 0 - %0 = load i8, i8* %a, align 1 + %0 = load i8, ptr %v1, align 1 %conv = zext i8 %0 to i32 - %a1 = getelementptr inbounds %struct.t2, %struct.t2* %v2, i32 0, i32 0 - %1 = load i16, i16* %a1, align 1 + %1 = load i16, ptr %v2, align 1 %conv2 = sext i16 %1 to i32 %add = add nsw i32 %conv, %conv2 - %a3 = getelementptr inbounds %struct.t3, %struct.t3* %v3, i32 0, i32 0 - %2 = load i16, i16* %a3, align 1 + %2 = load i16, ptr %v3, align 1 %conv4 = sext i16 %2 to i32 %add5 = add nsw i32 %add, %conv4 - %a6 = getelementptr inbounds %struct.t4, %struct.t4* %v4, i32 0, i32 0 - %3 = load i32, i32* %a6, align 1 + %3 = load i32, ptr %v4, align 1 %add7 = add nsw i32 %add5, %3 - %a8 = getelementptr inbounds %struct.t5, %struct.t5* %v5, i32 0, i32 0 - %4 = load i32, i32* %a8, align 1 + %4 = load i32, ptr %v5, align 1 %add9 = add nsw i32 %add7, %4 - %a10 = getelementptr inbounds %struct.t6, %struct.t6* %v6, i32 0, i32 0 - %5 = load i32, i32* %a10, align 1 + %5 = load i32, ptr %v6, align 1 %add11 = add nsw i32 %add9, %5 - %a12 = getelementptr inbounds %struct.t7, %struct.t7* %v7, i32 0, i32 0 - %6 = load i32, i32* %a12, align 1 + %6 = load i32, ptr %v7, align 1 %add13 = add nsw i32 %add11, %6 ret i32 %add13 diff --git a/llvm/test/CodeGen/PowerPC/stwu-gta.ll b/llvm/test/CodeGen/PowerPC/stwu-gta.ll index 2ca72ff..e413e0e 100644 --- a/llvm/test/CodeGen/PowerPC/stwu-gta.ll +++ b/llvm/test/CodeGen/PowerPC/stwu-gta.ll @@ -8,8 +8,8 @@ target triple = "powerpc-unknown-linux" define void @_GLOBAL__I_a() nounwind section ".text.startup" { entry: - store i32 5, i32* getelementptr inbounds (%class.Two.0.5, %class.Two.0.5* @foo, i32 0, i32 0), align 4 - store i32 6, i32* getelementptr inbounds (%class.Two.0.5, %class.Two.0.5* @foo, i32 0, i32 1), align 4 + store i32 5, ptr @foo, align 4 + store i32 6, ptr getelementptr inbounds (%class.Two.0.5, ptr @foo, i32 0, i32 1), align 4 ret void } diff --git a/llvm/test/CodeGen/PowerPC/stwu-sched.ll b/llvm/test/CodeGen/PowerPC/stwu-sched.ll index 36afaf8..1f4a924 100644 --- a/llvm/test/CodeGen/PowerPC/stwu-sched.ll +++ b/llvm/test/CodeGen/PowerPC/stwu-sched.ll @@ -9,7 +9,7 @@ %0 = type { i32, i32 } ; Function Attrs: norecurse nounwind writeonly -define void @initCombList(%0* nocapture, i32 signext) local_unnamed_addr #0 { +define void @initCombList(ptr nocapture, i32 signext) local_unnamed_addr #0 { ; CHECK-LABEL: initCombList: ; CHECK: addi 4, 4, -8 ; CHECK: stwu [[REG:[0-9]+]], 64(3) @@ -23,7 +23,7 @@ define void @initCombList(%0* nocapture, i32 signext) local_unnamed_addr #0 { br i1 undef, label %6, label %4 ;