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 ---