- ( ((Register) & 0xfff) | \\r
- (((Function) & 0x07) << 12) | \\r
- (((Device) & 0x1f) << 15) | \\r
- (((Bus) & 0xff) << 20) | \\r
- (LShiftU64((Segment) & 0xffff, 32)) \\r
+ ((Segment != 0) ? \\r
+ ( ((Register) & 0xfff) | \\r
+ (((Function) & 0x07) << 12) | \\r
+ (((Device) & 0x1f) << 15) | \\r
+ (((Bus) & 0xff) << 20) | \\r
+ (LShiftU64 ((Segment) & 0xffff, 32)) \\r
+ ) : \\r
+ ( ((Register) & 0xfff) | \\r
+ (((Function) & 0x07) << 12) | \\r
+ (((Device) & 0x1f) << 15) | \\r
+ (((Bus) & 0xff) << 20) \\r
+ ) \\r