srawi — shift right, fill with the sign
Shift a signed value right and the shift turns arithmetic. The high bits left empty get backfilled with copies of the sign bit, which keeps a negative number negative. PowerPC has a purpose-built opcode for that, srawi, the shift-right-algebraic-word-immediate. Watch a signed value shifted right by 5:
srawi r3,r3,5
blr
Note that this one is a genuine opcode, not an rlwinm in disguise, since a rotate-and-mask simply can't manufacture sign extension. Nothing in the C operator gives the choice away, because >> reads the same either way. The operand's type is what settles it, srwi for a u32 and srawi for an s32.
Once the shift amount becomes a variable rather than a constant, you move to the register forms sraw/srw/slw, which the next lesson covers.
Two facts in the target tell you everything: the shift count next to srawi and the parameter's declared type.
Your task
Write func_8007a7e0 so it compiles to the srawi above.