You should just be able to compare RdHi and RdLo directly here, none of these registers have any sub-registers. Doing it this was doesn't really make sense, because isSubRegisterEq is an asymmetric operation.
You can redirect the stderr of the llvm-mc command to stdout with 2>&1, and pipe it into FIleCheck without needing a temporary file.
It's better to include the line number (using @LINE) of the error message in the check line, so that if one of these fails FileCheck will point to the failing one. The other test in this patch (v8_IT_manual.s) is a good example.