1// Copyright (c) 2007 The Hewlett-Packard Development Company 2// All rights reserved. 3// 4// Redistribution and use of this software in source and binary forms, 5// with or without modification, are permitted provided that the 6// following conditions are met: 7// 8// The software must be used only for Non-Commercial Use which means any --- 44 unchanged lines hidden (view full) --- 53// 54// Authors: Gabe Black 55 56//////////////////////////////////////////////////////////////////// 57// 58// The actual decoder specification 59// 60 |
61decode LEGACY_LOCK default Unknown::unknown() |
62{ |
63 //No lock prefix 64 0x0: decode OPCODE_NUM default Unknown::unknown() 65 { 66 0x0: M5InternalError::error( 67 {{"Saw an ExtMachInst with zero opcode bytes!"}}); 68 //1 byte opcodes 69 ##include "one_byte_opcodes.isa" 70 //2 byte opcodes 71 ##include "two_byte_opcodes.isa" 72 //3 byte opcodes 73 0x3: decode OPCODE_PREFIXA { 74 0xF0: decode OPCODE_PREFIXB { 75 //We don't handle these properly in the predecoder yet, so 76 //there's no reason to implement them for now. 77 0x38: decode OPCODE_OP { 78 default: FailUnimpl::sseThreeEight(); 79 } 80 0x3A: decode OPCODE_OP { 81 default: FailUnimpl::sseThreeA(); 82 } 83 0xF0: decode OPCODE_OP { 84 default: FailUnimpl::threednow(); 85 } 86 default: M5InternalError::error( 87 {{"Unexpected second opcode byte in three byte opcode!"}}); |
88 } |
89 default: M5InternalError::error( |
90 {{"Unexpected first opcode byte in three byte opcode!"}}); |
91 } |
92 } |
93 //Lock prefix 94 ##include "locked_opcodes.isa" |
95} |