brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 12e0592 Raw
36 lines · plain
1// RUN: llvm-mc -triple=amdgcn -mcpu=fiji %s | FileCheck %s --check-prefix=VI2 3//===----------------------------------------------------------------------===//4// Example of reg[expr] and reg[epxr1:expr2] syntax in macros.5//===----------------------------------------------------------------------===//6 7.macro REG_NUM_EXPR_EXAMPLE width iter iter_end8    .if \width == 49      flat_load_dwordx4   v[8 + (\iter * 4):8 + (\iter * 4) + 3], v[2:3]10    .else11      flat_load_dword     v[8 + \iter], v[2:3]12    .endif13 14    .if (\iter_end - \iter)15      REG_NUM_EXPR_EXAMPLE \width, (\iter + 1), \iter_end16    .endif17 .endm18 19REG_NUM_EXPR_EXAMPLE 4, 0, 020// VI:   flat_load_dwordx4 v[8:11], v[2:3]21 22REG_NUM_EXPR_EXAMPLE 1, 0, 023// VI:   flat_load_dword v8, v[2:3]24 25REG_NUM_EXPR_EXAMPLE 4, 1, 426// VI:   flat_load_dwordx4 v[12:15], v[2:3]27// VI:   flat_load_dwordx4 v[16:19], v[2:3]28// VI:   flat_load_dwordx4 v[20:23], v[2:3]29// VI:   flat_load_dwordx4 v[24:27], v[2:3]30 31REG_NUM_EXPR_EXAMPLE 1, 1, 432// VI:   flat_load_dword v9, v[2:3]33// VI:   flat_load_dword v10, v[2:3]34// VI:   flat_load_dword v11, v[2:3]35// VI:   flat_load_dword v12, v[2:3]36