multi.isa (4535:51bf0993137e) multi.isa (4542:f6ca2384b304)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 The Hewlett-Packard Development Company
4// All rights reserved.
5//
6// Redistribution and use of this software in source and binary forms,
7// with or without modification, are permitted provided that the
8// following conditions are met:

--- 48 unchanged lines hidden (view full) ---

57
58//////////////////////////////////////////////////////////////////////////
59//
60// Instructions operate on one or multiple types of sets of arguments.
61//
62//////////////////////////////////////////////////////////////////////////
63
64def format Inst(*opTypeSet) {{
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 The Hewlett-Packard Development Company
4// All rights reserved.
5//
6// Redistribution and use of this software in source and binary forms,
7// with or without modification, are permitted provided that the
8// following conditions are met:

--- 48 unchanged lines hidden (view full) ---

57
58//////////////////////////////////////////////////////////////////////////
59//
60// Instructions operate on one or multiple types of sets of arguments.
61//
62//////////////////////////////////////////////////////////////////////////
63
64def format Inst(*opTypeSet) {{
65 decode_block = specializeInst(Name, list(opTypeSet), EmulEnv())
65 blocks = specializeInst(Name, list(opTypeSet), EmulEnv())
66 (header_output, decoder_output,
67 decode_block, exec_output) = blocks.makeList()
66}};
67
68def format MultiInst(switchVal, *opTypeSets) {{
69 switcher = {}
70 for (count, opTypeSet) in zip(xrange(len(opTypeSets)), opTypeSets):
71 switcher[count] = (opTypeSet, EmulEnv())
68}};
69
70def format MultiInst(switchVal, *opTypeSets) {{
71 switcher = {}
72 for (count, opTypeSet) in zip(xrange(len(opTypeSets)), opTypeSets):
73 switcher[count] = (opTypeSet, EmulEnv())
72 decode_block = doSplitDecode(Name, specializeInst, switchVal, switcher)
74 blocks = doSplitDecode(Name, specializeInst, switchVal, switcher)
75 (header_output, decoder_output,
76 decode_block, exec_output) = blocks.makeList()
73}};
77}};