Hi Tulio,
Thanks for all the cleanups!
Two quite minor things...
+(define_insn "rs6000_get_timebase_ppc64"
+ [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
+ (unspec_volatile:DI [(const_int 0)] UNSPECV_GETTB))]
+ "TARGET_POWERPC64"
+{
+ if (TARGET_MFCRF)
+ return "mfspr %0, 268";
+ else
+ return "mftb %0";
+})
+
+(define_insn "rs6000_mftb_<mode>"
+ [(set (match_operand:P 0 "gpc_reg_operand" "=r")
+ (unspec_volatile:P [(const_int 0)] UNSPECV_MFTB))]
+ ""
+ {
+ if (TARGET_MFCRF)
+ return "mfspr %0, 268";
+ else
+ return "mftb %0";
+ })
These are identical; remove the _ppc64 pattern?
(The indenting of the {} is wrong in the mftb pattern).
Segher