MCPcopy Create free account
hub / github.com/capstone-engine/capstone / DecodeVSTInstruction

Function DecodeVSTInstruction

arch/ARM/ARMDisassembler.c:2859–3135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2857}
2858
2859static DecodeStatus DecodeVSTInstruction(MCInst *Inst, unsigned Insn,
2860 uint64_t Address, const void *Decoder)
2861{
2862 DecodeStatus S = MCDisassembler_Success;
2863 unsigned wb, Rn, Rm;
2864 unsigned Rd = fieldFromInstruction_4(Insn, 12, 4);
2865 Rd |= fieldFromInstruction_4(Insn, 22, 1) << 4;
2866 wb = fieldFromInstruction_4(Insn, 16, 4);
2867 Rn = fieldFromInstruction_4(Insn, 16, 4);
2868 Rn |= fieldFromInstruction_4(Insn, 4, 2) << 4;
2869 Rm = fieldFromInstruction_4(Insn, 0, 4);
2870
2871 // Writeback Operand
2872 switch (MCInst_getOpcode(Inst)) {
2873 case ARM_VST1d8wb_fixed:
2874 case ARM_VST1d16wb_fixed:
2875 case ARM_VST1d32wb_fixed:
2876 case ARM_VST1d64wb_fixed:
2877 case ARM_VST1d8wb_register:
2878 case ARM_VST1d16wb_register:
2879 case ARM_VST1d32wb_register:
2880 case ARM_VST1d64wb_register:
2881 case ARM_VST1q8wb_fixed:
2882 case ARM_VST1q16wb_fixed:
2883 case ARM_VST1q32wb_fixed:
2884 case ARM_VST1q64wb_fixed:
2885 case ARM_VST1q8wb_register:
2886 case ARM_VST1q16wb_register:
2887 case ARM_VST1q32wb_register:
2888 case ARM_VST1q64wb_register:
2889 case ARM_VST1d8Twb_fixed:
2890 case ARM_VST1d16Twb_fixed:
2891 case ARM_VST1d32Twb_fixed:
2892 case ARM_VST1d64Twb_fixed:
2893 case ARM_VST1d8Twb_register:
2894 case ARM_VST1d16Twb_register:
2895 case ARM_VST1d32Twb_register:
2896 case ARM_VST1d64Twb_register:
2897 case ARM_VST1d8Qwb_fixed:
2898 case ARM_VST1d16Qwb_fixed:
2899 case ARM_VST1d32Qwb_fixed:
2900 case ARM_VST1d64Qwb_fixed:
2901 case ARM_VST1d8Qwb_register:
2902 case ARM_VST1d16Qwb_register:
2903 case ARM_VST1d32Qwb_register:
2904 case ARM_VST1d64Qwb_register:
2905 case ARM_VST2d8wb_fixed:
2906 case ARM_VST2d16wb_fixed:
2907 case ARM_VST2d32wb_fixed:
2908 case ARM_VST2d8wb_register:
2909 case ARM_VST2d16wb_register:
2910 case ARM_VST2d32wb_register:
2911 case ARM_VST2q8wb_fixed:
2912 case ARM_VST2q16wb_fixed:
2913 case ARM_VST2q32wb_fixed:
2914 case ARM_VST2q8wb_register:
2915 case ARM_VST2q16wb_register:
2916 case ARM_VST2q32wb_register:

Callers 4

DecodeVLDST1InstructionFunction · 0.85
DecodeVLDST2InstructionFunction · 0.85
DecodeVLDST3InstructionFunction · 0.85
DecodeVLDST4InstructionFunction · 0.85

Calls 9

MCInst_getOpcodeFunction · 0.85
MCOperand_CreateImm0Function · 0.85
DecodeAddrMode6OperandFunction · 0.85
MCOperand_CreateReg0Function · 0.85
DecodeDPairRegisterClassFunction · 0.85
DecodeDPRRegisterClassFunction · 0.85
CheckFunction · 0.70
DecodeGPRRegisterClassFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…