decoder.isa (3852:b91ce3d7d236) | decoder.isa (3856:8815ad4f0661) |
---|---|
1// Copyright (c) 2006 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 --- 1046 unchanged lines hidden (view full) --- 1055 0x0F: LoadStore::swap( 1056 {{uReg0 = Rd.uw; 1057 Rd.uw = Mem.uw;}}, 1058 {{Mem.uw = uReg0;}}); 1059 format LoadAlt { 1060 0x10: lduwa({{Rd = Mem.uw;}}, {{EXT_ASI}}); 1061 0x11: lduba({{Rd = Mem.ub;}}, {{EXT_ASI}}); 1062 0x12: lduha({{Rd = Mem.uhw;}}, {{EXT_ASI}}); | 1// Copyright (c) 2006 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 --- 1046 unchanged lines hidden (view full) --- 1055 0x0F: LoadStore::swap( 1056 {{uReg0 = Rd.uw; 1057 Rd.uw = Mem.uw;}}, 1058 {{Mem.uw = uReg0;}}); 1059 format LoadAlt { 1060 0x10: lduwa({{Rd = Mem.uw;}}, {{EXT_ASI}}); 1061 0x11: lduba({{Rd = Mem.ub;}}, {{EXT_ASI}}); 1062 0x12: lduha({{Rd = Mem.uhw;}}, {{EXT_ASI}}); |
1063 0x13: ldtwa({{ 1064 uint64_t val = Mem.udw; 1065 RdLow = val<31:0>; 1066 RdHigh = val<63:32>; 1067 }}, {{EXT_ASI}}); | 1063 0x13: decode EXT_ASI { 1064 //ASI_QUAD_LDD 1065 0x24: TwinLoad::ldtx_quad_ldd( 1066 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1067 //ASI_LDTX_REAL 1068 0x26: TwinLoad::ldtx_real( 1069 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1070 //ASI_LDTX_N 1071 0x27: TwinLoad::ldtx_n( 1072 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1073 //ASI_LDTX_L 1074 0x2C: TwinLoad::ldtx_l( 1075 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1076 //ASI_LDTX_REAL_L 1077 0x2E: TwinLoad::ldtx_real_l( 1078 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1079 //ASI_LDTX_N_L 1080 0x2F: TwinLoad::ldtx_n_l( 1081 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1082 default: ldtwa({{ 1083 uint64_t val = Mem.udw; 1084 RdLow = val<31:0>; 1085 RdHigh = val<63:32>; 1086 }}, {{EXT_ASI}}); 1087 } |
1068 } 1069 format StoreAlt { 1070 0x14: stwa({{Mem.uw = Rd;}}, {{EXT_ASI}}); 1071 0x15: stba({{Mem.ub = Rd;}}, {{EXT_ASI}}); 1072 0x16: stha({{Mem.uhw = Rd;}}, {{EXT_ASI}}); 1073 0x17: sttwa({{Mem.udw = RdLow<31:0> | RdHigh<31:0> << 32;}}, {{EXT_ASI}}); 1074 } 1075 format LoadAlt { --- 45 unchanged lines hidden (view full) --- 1121 //ASI_REAL 1122 0x14: FailUnimpl::lddfa_real(); 1123 //ASI_REAL_LITTLE 1124 0x1C: FailUnimpl::lddfa_real_l(); 1125 //ASI_REAL_IO 1126 0x15: FailUnimpl::lddfa_real_io(); 1127 //ASI_REAL_IO_LITTLE 1128 0x1D: FailUnimpl::lddfa_real_io_l(); | 1088 } 1089 format StoreAlt { 1090 0x14: stwa({{Mem.uw = Rd;}}, {{EXT_ASI}}); 1091 0x15: stba({{Mem.ub = Rd;}}, {{EXT_ASI}}); 1092 0x16: stha({{Mem.uhw = Rd;}}, {{EXT_ASI}}); 1093 0x17: sttwa({{Mem.udw = RdLow<31:0> | RdHigh<31:0> << 32;}}, {{EXT_ASI}}); 1094 } 1095 format LoadAlt { --- 45 unchanged lines hidden (view full) --- 1141 //ASI_REAL 1142 0x14: FailUnimpl::lddfa_real(); 1143 //ASI_REAL_LITTLE 1144 0x1C: FailUnimpl::lddfa_real_l(); 1145 //ASI_REAL_IO 1146 0x15: FailUnimpl::lddfa_real_io(); 1147 //ASI_REAL_IO_LITTLE 1148 0x1D: FailUnimpl::lddfa_real_io_l(); |
1129 //ASI_LDTX_REAL 1130 0x26: TwinLoad::ldtx_real( 1131 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1132 //ASI_LDTX_N 1133 0x27: TwinLoad::ldtx_n( 1134 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1135 //ASI_LDTX_REAL_L 1136 0x2E: TwinLoad::ldtx_real_l( 1137 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); 1138 //ASI_LDTX_N_L 1139 0x2F: TwinLoad::ldtx_n_l( 1140 {{RdTwin.udw = Mem.udw}}, {{EXT_ASI}}); | |
1141 //ASI_PRIMARY 1142 0x80: FailUnimpl::lddfa_p(); 1143 //ASI_PRIMARY_LITTLE 1144 0x88: FailUnimpl::lddfa_pl(); 1145 //ASI_SECONDARY 1146 0x81: FailUnimpl::lddfa_s(); 1147 //ASI_SECONDARY_LITTLE 1148 0x89: FailUnimpl::lddfa_sl(); --- 152 unchanged lines hidden --- | 1149 //ASI_PRIMARY 1150 0x80: FailUnimpl::lddfa_p(); 1151 //ASI_PRIMARY_LITTLE 1152 0x88: FailUnimpl::lddfa_pl(); 1153 //ASI_SECONDARY 1154 0x81: FailUnimpl::lddfa_s(); 1155 //ASI_SECONDARY_LITTLE 1156 0x89: FailUnimpl::lddfa_sl(); --- 152 unchanged lines hidden --- |