the reading is easy:
eg.
unsigned long int input_data = REG_PIOC_PDSR;
reads the C -port (32 bit wide) and all the bits simultaneously to input_data variable and fast ,
and I've tested A, B, C and D ports by changing bit states ((work ok with Arduino Due),
but then encountered problems when tried writing in the same way with command eg.
REG_PIOC_ODSR = 0xFF;
which should change all bits 0-15 simultanously to 1, look at my post earlier today, where test results are reported,
BR,
Seppo