Marek Olsak | 5df00d6 | 2014-12-07 12:18:57 +0000 | [diff] [blame] | 1 | //===-- VIInstructions.td - VI Instruction Defintions ---------------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // Instruction definitions for VI and newer. |
| 10 | //===----------------------------------------------------------------------===// |
| 11 | |
Marek Olsak | 5df00d6 | 2014-12-07 12:18:57 +0000 | [diff] [blame] | 12 | |
| 13 | //===----------------------------------------------------------------------===// |
Marek Olsak | 58f61a8 | 2014-12-07 17:17:38 +0000 | [diff] [blame] | 14 | // SMEM Patterns |
| 15 | //===----------------------------------------------------------------------===// |
| 16 | |
Marek Olsak | f0b130a | 2015-01-15 18:43:06 +0000 | [diff] [blame] | 17 | let Predicates = [isVI] in { |
| 18 | |
Marek Olsak | ee98b11 | 2015-01-27 17:24:58 +0000 | [diff] [blame] | 19 | // 1. Offset as 20bit DWORD immediate |
Marek Olsak | 58f61a8 | 2014-12-07 17:17:38 +0000 | [diff] [blame] | 20 | def : Pat < |
| 21 | (SIload_constant v4i32:$sbase, IMM20bit:$offset), |
| 22 | (S_BUFFER_LOAD_DWORD_IMM $sbase, (as_i32imm $offset)) |
| 23 | >; |
| 24 | |
Marek Olsak | 5df00d6 | 2014-12-07 12:18:57 +0000 | [diff] [blame] | 25 | } // End Predicates = [isVI] |