Deleted Added
sdiff udiff text old ( 4276:f0030662ee2a ) new ( 6098:34690e3cf53e )
full compact
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}