• Athira Rajeev's avatar
    perf annotate: Add parse function for memory instructions in powerpc · 1acdad68
    Athira Rajeev authored
    Use the raw instruction code and macros to identify memory instructions,
    extract register fields and also offset.
    
    The implementation addresses the D-form, X-form, DS-form instructions.
    Two main functions are added.
    
    New parse function "load_store__parse" as instruction ops parser for
    memory instructions.
    
    Unlike other parsers (like mov__parse), this one fills in the
    "multi_regs" field for source/target and new added "mem_ref" field. No
    other fields are set because, here there is no need to parse the
    disassembled code and arch specific macros will take care of extracting
    offset and regs which is easier and will be precise.
    
    In powerpc, all instructions with a primary opcode from 32 to 63
    are memory instructions. Update "ins__find" function to have "raw_insn"
    also as a parameter.
    Reviewed-by: default avatarKajol Jain <kjain@linux.ibm.com>
    Reviewed-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
    Tested-by: default avatarKajol Jain <kjain@linux.ibm.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Akanksha J N <akanksha@linux.ibm.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Disha Goel <disgoel@linux.vnet.ibm.com>
    Cc: Hari Bathini <hbathini@linux.ibm.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
    Cc: Segher Boessenkool <segher@kernel.crashing.org>
    Link: https://lore.kernel.org/lkml/20240718084358.72242-8-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    1acdad68
instructions.c 1.87 KB