So why have we been doing read-modify-write if the pins were individually addressable? I still don't see a name for any bit on any register, they all need register wide addressing, it's just that now they have made it faster. The VPORT is just a duplication of PORT, I don't see how they have helped or is this more unclear documentation aimed at those working with raw address numbers rather than the standard register definitions.
My pin manipulation code is now:
// PortF setup and manipulation
#define PF0_input PORTF.DIRCLR = 0x01
#define PF1_input PORTF.DIRCLR = 0x02
#define PF2_input PORTF.DIRCLR = 0x04
#define PF3_input PORTF.DIRCLR = 0x08
#define PF4_input PORTF.DIRCLR = 0x10
#define PF5_input PORTF.DIRCLR = 0x20
#define PF6_input PORTF.DIRCLR = 0x40
#define PF7_input PORTF.DIRCLR = 0x80
#define is_PF0_low !bit_get(PORTF.IN, 0)
#define is_PF1_low !bit_get(PORTF.IN, 1)
#define is_PF2_low !bit_get(PORTF.IN, 2)
#define is_PF3_low !bit_get(PORTF.IN, 3)
#define is_PF4_low !bit_get(PORTF.IN, 4)
#define is_PF5_low !bit_get(PORTF.IN, 5)
#define is_PF6_low !bit_get(PORTF.IN, 6)
#define is_PF7_low !bit_get(PORTF.IN, 7)
#define is_PF0_hi bit_get(PORTF.IN, 0)
#define is_PF1_hi bit_get(PORTF.IN, 1)
#define is_PF2_hi bit_get(PORTF.IN, 2)
#define is_PF3_hi bit_get(PORTF.IN, 3)
#define is_PF4_hi bit_get(PORTF.IN, 4)
#define is_PF5_hi bit_get(PORTF.IN, 5)
#define is_PF6_hi bit_get(PORTF.IN, 6)
#define is_PF7_hi bit_get(PORTF.IN, 7)
#define PF0_output PORTF.DIRSET = 0x01
#define PF1_output PORTF.DIRSET = 0x02
#define PF2_output PORTF.DIRSET = 0x04
#define PF3_output PORTF.DIRSET = 0x08
#define PF4_output PORTF.DIRSET = 0x10
#define PF5_output PORTF.DIRSET = 0x20
#define PF6_output PORTF.DIRSET = 0x40
#define PF7_output PORTF.DIRSET = 0x80
#define PF0_hi PORTF.OUTSET = 0x01
#define PF1_hi PORTF.OUTSET = 0x02
#define PF2_hi PORTF.OUTSET = 0x04
#define PF3_hi PORTF.OUTSET = 0x08
#define PF4_hi PORTF.OUTSET = 0x10
#define PF5_hi PORTF.OUTSET = 0x20
#define PF6_hi PORTF.OUTSET = 0x40
#define PF7_hi PORTF.OUTSET = 0x80
#define PF0_low PORTF.OUTCLR = 0x01
#define PF1_low PORTF.OUTCLR = 0x02
#define PF2_low PORTF.OUTCLR = 0x04
#define PF3_low PORTF.OUTCLR = 0x08
#define PF4_low PORTF.OUTCLR = 0x10
#define PF5_low PORTF.OUTCLR = 0x20
#define PF6_low PORTF.OUTCLR = 0x40
#define PF7_low PORTF.OUTCLR = 0x80