blob: 4a6e933783bb6b0343cf2b129cac086e1394b3da [file] [log] [blame]
Marek Olsak5df00d62014-12-07 12:18:57 +00001//===-- 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 Olsak5df00d62014-12-07 12:18:57 +000012
13//===----------------------------------------------------------------------===//
Marek Olsak58f61a82014-12-07 17:17:38 +000014// SMEM Patterns
15//===----------------------------------------------------------------------===//
16
Marek Olsakf0b130a2015-01-15 18:43:06 +000017let Predicates = [isVI] in {
18
Marek Olsakee98b112015-01-27 17:24:58 +000019// 1. Offset as 20bit DWORD immediate
Marek Olsak58f61a82014-12-07 17:17:38 +000020def : Pat <
21 (SIload_constant v4i32:$sbase, IMM20bit:$offset),
22 (S_BUFFER_LOAD_DWORD_IMM $sbase, (as_i32imm $offset))
23>;
24
Marek Olsak5df00d62014-12-07 12:18:57 +000025} // End Predicates = [isVI]