1 //===-- SparcBaseInfo.h - Top level definitions for Sparc ---- --*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains small standalone helper functions and enum definitions
11 // for the Sparc target useful for the compiler back-end and the MC libraries.
12 // As such, it deliberately does not include references to LLVM core code gen
13 // types, passes, etc..
15 //===----------------------------------------------------------------------===//
17 #ifndef SPARCBASEINFO_H
18 #define SPARCBASEINFO_H
22 /// SPII - This namespace holds target specific flags for instruction info.
25 /// Target Operand Flags. Sparc specific TargetFlags for MachineOperands and
30 // Extract the low 10 bits of an address.
31 // Assembler: %lo(addr)
34 // Extract bits 31-10 of an address. Only for sethi.
35 // Assembler: %hi(addr) or %lm(addr)
38 // Extract bits 43-22 of an adress. Only for sethi.
39 // Assembler: %h44(addr)
42 // Extract bits 21-12 of an address.
43 // Assembler: %m44(addr)
46 // Extract bits 11-0 of an address.
47 // Assembler: %l44(addr)
50 // Extract bits 63-42 of an address. Only for sethi.
51 // Assembler: %hh(addr)
54 // Extract bits 41-32 of an address.
55 // Assembler: %hm(addr)
58 // TargetFlags for Thread Local Storage.
79 } // end namespace SPII
80 } // end namespace llvm