On 9/13/2013 7:49 PM, Sukadev Bhattiprolu wrote:
Implement is_instr_load_store() to detect whether a given instruction
is one of the fixed-point or floating-point load/store instructions.
This function will be used in a follow-on patch to save memory hierarchy
information of the load/store.


+/*
+ * Values of bits 21:30 of Fixed-point and Floating-point Load and Store
+ * instructions.
+ *
+ * Reference:  PowerISA_V2.06B_Public.pdf, Sections 3.3.2 through 3.3.6 and
+ *             4.6.2 through 4.6.4.
+ */
+#define        x_lbzx          87
+#define        x_lbzux         119
+#define        x_lhzx          279
<snip>
+
+static unsigned int x_form_load_store[] = {
+       x_lbzx,     x_lbzux,    x_lhzx,     x_lhzux,    x_lhax,
+       x_lhaux,    x_lwzx,     x_lwzux,    x_lwax,     x_lwaux,
+       x_ldx,      x_ldux,     x_stbx,     x_stbux,    x_sthx,
+       x_sthux,    x_stwx,     x_stwux,    x_stdx,     x_stdux,
+       x_lhbrx,    x_lwbrx,    x_sthbrx,   x_stwbrx,   x_ldbrx,
+       x_stdbrx,   x_lswi,     x_lswx,     x_stswi,    x_stswx,
+       x_lfsx,     x_lfsux,    x_lfdx,     x_lfdux,    x_lfiwax,
+       x_lfiwzx,   x_stfsx,    x_stfsux,   x_stfdx,    x_stfdux,
+       x_stfiwax,  x_lfdpx,    x_stfdpx
+};
+
<snip>
+
Can you explain why this function only covers fixed point and floating point instructions? I.e., why did you skip Altivec and VSX?
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to