1*fe013be4SDimitry Andric//===- X86EncodingOptimizationForImmediate.def.def ---------------*- C++ -*-==// 2*fe013be4SDimitry Andric// 3*fe013be4SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*fe013be4SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 5*fe013be4SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*fe013be4SDimitry Andric// 7*fe013be4SDimitry Andric//===----------------------------------------------------------------------===// 8*fe013be4SDimitry Andric// \file 9*fe013be4SDimitry Andric// This file defines all the entries of X86 instruction relaxation for immediate 10*fe013be4SDimitry Andric//===----------------------------------------------------------------------===// 11*fe013be4SDimitry Andric 12*fe013be4SDimitry Andric#ifndef ENTRY 13*fe013be4SDimitry Andric#define ENTRY(LONG, SHORT) 14*fe013be4SDimitry Andric#endif 15*fe013be4SDimitry AndricENTRY(ADC16mi, ADC16mi8) 16*fe013be4SDimitry AndricENTRY(ADC16ri, ADC16ri8) 17*fe013be4SDimitry AndricENTRY(ADC32mi, ADC32mi8) 18*fe013be4SDimitry AndricENTRY(ADC32ri, ADC32ri8) 19*fe013be4SDimitry AndricENTRY(ADC64mi32, ADC64mi8) 20*fe013be4SDimitry AndricENTRY(ADC64ri32, ADC64ri8) 21*fe013be4SDimitry AndricENTRY(SBB16mi, SBB16mi8) 22*fe013be4SDimitry AndricENTRY(SBB16ri, SBB16ri8) 23*fe013be4SDimitry AndricENTRY(SBB32mi, SBB32mi8) 24*fe013be4SDimitry AndricENTRY(SBB32ri, SBB32ri8) 25*fe013be4SDimitry AndricENTRY(SBB64mi32, SBB64mi8) 26*fe013be4SDimitry AndricENTRY(SBB64ri32, SBB64ri8) 27*fe013be4SDimitry AndricENTRY(ADD16mi, ADD16mi8) 28*fe013be4SDimitry AndricENTRY(ADD16ri, ADD16ri8) 29*fe013be4SDimitry AndricENTRY(ADD32mi, ADD32mi8) 30*fe013be4SDimitry AndricENTRY(ADD32ri, ADD32ri8) 31*fe013be4SDimitry AndricENTRY(ADD64mi32, ADD64mi8) 32*fe013be4SDimitry AndricENTRY(ADD64ri32, ADD64ri8) 33*fe013be4SDimitry AndricENTRY(AND16mi, AND16mi8) 34*fe013be4SDimitry AndricENTRY(AND16ri, AND16ri8) 35*fe013be4SDimitry AndricENTRY(AND32mi, AND32mi8) 36*fe013be4SDimitry AndricENTRY(AND32ri, AND32ri8) 37*fe013be4SDimitry AndricENTRY(AND64mi32, AND64mi8) 38*fe013be4SDimitry AndricENTRY(AND64ri32, AND64ri8) 39*fe013be4SDimitry AndricENTRY(OR16mi, OR16mi8) 40*fe013be4SDimitry AndricENTRY(OR16ri, OR16ri8) 41*fe013be4SDimitry AndricENTRY(OR32mi, OR32mi8) 42*fe013be4SDimitry AndricENTRY(OR32ri, OR32ri8) 43*fe013be4SDimitry AndricENTRY(OR64mi32, OR64mi8) 44*fe013be4SDimitry AndricENTRY(OR64ri32, OR64ri8) 45*fe013be4SDimitry AndricENTRY(SUB16mi, SUB16mi8) 46*fe013be4SDimitry AndricENTRY(SUB16ri, SUB16ri8) 47*fe013be4SDimitry AndricENTRY(SUB32mi, SUB32mi8) 48*fe013be4SDimitry AndricENTRY(SUB32ri, SUB32ri8) 49*fe013be4SDimitry AndricENTRY(SUB64mi32, SUB64mi8) 50*fe013be4SDimitry AndricENTRY(SUB64ri32, SUB64ri8) 51*fe013be4SDimitry AndricENTRY(XOR16mi, XOR16mi8) 52*fe013be4SDimitry AndricENTRY(XOR16ri, XOR16ri8) 53*fe013be4SDimitry AndricENTRY(XOR32mi, XOR32mi8) 54*fe013be4SDimitry AndricENTRY(XOR32ri, XOR32ri8) 55*fe013be4SDimitry AndricENTRY(XOR64mi32, XOR64mi8) 56*fe013be4SDimitry AndricENTRY(XOR64ri32, XOR64ri8) 57*fe013be4SDimitry AndricENTRY(CMP16mi, CMP16mi8) 58*fe013be4SDimitry AndricENTRY(CMP16ri, CMP16ri8) 59*fe013be4SDimitry AndricENTRY(CMP32mi, CMP32mi8) 60*fe013be4SDimitry AndricENTRY(CMP32ri, CMP32ri8) 61*fe013be4SDimitry AndricENTRY(CMP64mi32, CMP64mi8) 62*fe013be4SDimitry AndricENTRY(CMP64ri32, CMP64ri8) 63*fe013be4SDimitry AndricENTRY(IMUL16rmi, IMUL16rmi8) 64*fe013be4SDimitry AndricENTRY(IMUL16rri, IMUL16rri8) 65*fe013be4SDimitry AndricENTRY(IMUL32rmi, IMUL32rmi8) 66*fe013be4SDimitry AndricENTRY(IMUL32rri, IMUL32rri8) 67*fe013be4SDimitry AndricENTRY(IMUL64rmi32, IMUL64rmi8) 68*fe013be4SDimitry AndricENTRY(IMUL64rri32, IMUL64rri8) 69*fe013be4SDimitry AndricENTRY(PUSH16i, PUSH16i8) 70*fe013be4SDimitry AndricENTRY(PUSH32i, PUSH32i8) 71*fe013be4SDimitry AndricENTRY(PUSH64i32, PUSH64i8) 72*fe013be4SDimitry Andric#undef ENTRY 73