1/// Copyright (c) 2009 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 35 unchanged lines hidden (view full) --- 44 } 45 return fault; 46 } 47}}; 48 49def template MediaOpRegDeclare {{ 50 class %(class_name)s : public %(base_class)s 51 { |
52 public: 53 %(class_name)s(ExtMachInst _machInst, 54 const char * instMnem, uint64_t setFlags, 55 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 56 uint8_t _srcSize, uint8_t _destSize, uint16_t _ext); 57 |
58 %(BasicExecDeclare)s 59 }; 60}}; 61 62def template MediaOpImmDeclare {{ 63 64 class %(class_name)s : public %(base_class)s 65 { |
66 public: 67 %(class_name)s(ExtMachInst _machInst, 68 const char * instMnem, uint64_t setFlags, 69 InstRegIndex _src1, uint16_t _imm8, InstRegIndex _dest, 70 uint8_t _srcSize, uint8_t _destSize, uint16_t _ext); 71 |
72 %(BasicExecDeclare)s 73 }; 74}}; 75 76def template MediaOpRegConstructor {{ |
77 inline %(class_name)s::%(class_name)s( |
78 ExtMachInst machInst, const char * instMnem, uint64_t setFlags, 79 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 80 uint8_t _srcSize, uint8_t _destSize, uint16_t _ext) : 81 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags, 82 _src1, _src2, _dest, _srcSize, _destSize, _ext, 83 %(op_class)s) 84 { |
85 %(constructor)s; |
86 } 87}}; 88 89def template MediaOpImmConstructor {{ |
90 inline %(class_name)s::%(class_name)s( |
91 ExtMachInst machInst, const char * instMnem, uint64_t setFlags, 92 InstRegIndex _src1, uint16_t _imm8, InstRegIndex _dest, 93 uint8_t _srcSize, uint8_t _destSize, uint16_t _ext) : 94 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags, 95 _src1, _imm8, _dest, _srcSize, _destSize, _ext, 96 %(op_class)s) 97 { |
98 %(constructor)s; |
99 } 100}}; 101 102let {{ 103 # Make these empty strings so that concatenating onto 104 # them will always work. 105 header_output = "" 106 decoder_output = "" --- 1396 unchanged lines hidden --- |