Files
clang-p2996/llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-inttoptr.mir
Matt Arsenault fae05692a3 CodeGen: Print/parse LLTs in MachineMemOperands
This will currently accept the old number of bytes syntax, and convert
it to a scalar. This should be removed in the near future (I think I
converted all of the tests already, but likely missed a few).

Not sure what the exact syntax and policy should be. We can continue
printing the number of bytes for non-generic instructions to avoid
test churn and only allow non-scalar types for generic instructions.

This will currently print the LLT in parentheses, but accept parsing
the existing integers and implicitly converting to scalar. The
parentheses are a bit ugly, but the parser logic seems unable to deal
without either parentheses or some keyword to indicate the start of a
type.
2021-06-30 16:54:13 -04:00

28 lines
852 B
YAML

# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck %s -check-prefixes=GCN
---
name: inttoptr
legalized: true
regBankSelected: true
# GCN-LABEL: name: inttoptr
# GCN: [[S64:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
# GCN: [[V64:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
# GCN: [[VAL:%[0-9]+]]:sreg_32_xm0_xexec = S_LOAD_DWORD_IMM [[S64]], 0, 0
# GCN: [[V_VAL:%[0-9]+]]:vgpr_32 = COPY [[VAL]]
# GCN: FLAT_STORE_DWORD [[V64]], [[V_VAL]]
#
body: |
bb.0:
liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
%0:sgpr(s64) = COPY $sgpr0_sgpr1
%1:vgpr(s64) = COPY $vgpr0_vgpr1
%2:sgpr(p4) = G_INTTOPTR %0
%3:sgpr(s32) = G_LOAD %2 :: (load (s32), addrspace 1)
%4:vgpr(p0) = G_INTTOPTR %1
%5:vgpr(s32) = COPY %3
G_STORE %5, %4 :: (store (s32), addrspace 1)
...