| //===-- VIInstructions.td - VI Instruction Defintions ---------------------===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // Instruction definitions for VI and newer. |
| //===----------------------------------------------------------------------===// |
| |
| |
| //===----------------------------------------------------------------------===// |
| // SMEM Patterns |
| //===----------------------------------------------------------------------===// |
| |
| let Predicates = [isVI] in { |
| |
| // 1. Offset as 20bit DWORD immediate |
| def : Pat < |
| (SIload_constant v4i32:$sbase, IMM20bit:$offset), |
| (S_BUFFER_LOAD_DWORD_IMM $sbase, (as_i32imm $offset)) |
| >; |
| |
| } // End Predicates = [isVI] |