--- ././gdb/rs6000-aix-tdep.c_orig	2021-11-21 02:45:54 +0000
+++ ./gdb/rs6000-aix-tdep.c	2021-11-21 02:46:57 +0000
@@ -769,6 +769,8 @@
   return (dest < AIX_TEXT_SEGMENT_BASE) ? safety : dest;
 }
 
+#define OP_MASK 0xfc000000
+
 /* AIX does not support PT_STEP.  Simulate it.  */
 
 static std::vector<CORE_ADDR>
@@ -789,7 +791,11 @@
   if (!next_pcs.empty ())
     return next_pcs;
   
-  breaks[0] = loc + PPC_INSN_SIZE;
+  if ((insn & OP_MASK) == 1 << 26)
+      breaks[0] = loc + 2 * PPC_INSN_SIZE;
+  else
+     breaks[0] = loc + PPC_INSN_SIZE;
+
   opcode = insn >> 26;
   breaks[1] = branch_dest (regcache, opcode, insn, loc, breaks[0]);
 
