[fidl][go] Fixing InvertBits() implementation to match spec. [3/4]

See the first changelist in the sequence for a description of the
changes made.

This third changelist in the sequence updates third_party/go with the
code generated by the new template.  This code was generated by running:

  fidlgen regen go
  $(fx get-build-dir)/host-tools/goroot/bin/go tool api | grep -e '^pkg syscall/zx' > ${FUCHSIA_DIR}/third_party/go/api/fuchsia.txt

Previous change in chain: I70765a89307001987501e3c9dfee109ff0ccc6a7
Next change in chain: I2a44f4b3c71f94a441eeeec952477bc14c74b1a9

Test: fx test fidl_go_conformance go-fidl-tests go_extended_fidl_test go_unsafevalue_test
Change-Id: I2dc2ad61be03b5109316e5020f2f506fda0febb8
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/go/+/456769
Commit-Queue: Alex Zaslavsky <azaslavsky@google.com>
Reviewed-by: Felix Zhu <fcz@google.com>
diff --git a/api/fuchsia.txt b/api/fuchsia.txt
index ebb7a5a..fc53bad 100644
--- a/api/fuchsia.txt
+++ b/api/fuchsia.txt
@@ -1191,7 +1191,7 @@
 pkg syscall/zx/hardware/ethernet, method (DeviceStatus) HasUnknownBits() bool
 pkg syscall/zx/hardware/ethernet, method (DeviceStatus) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/ethernet, method (DeviceStatus) I_BitsMask() DeviceStatus
-pkg syscall/zx/hardware/ethernet, method (DeviceStatus) InvertKnownBits() DeviceStatus
+pkg syscall/zx/hardware/ethernet, method (DeviceStatus) InvertBits() DeviceStatus
 pkg syscall/zx/hardware/ethernet, method (DeviceStatus) String() string
 pkg syscall/zx/hardware/ethernet, method (Features) ClearBits(Features) Features
 pkg syscall/zx/hardware/ethernet, method (Features) GetUnknownBits() uint64
@@ -1199,7 +1199,7 @@
 pkg syscall/zx/hardware/ethernet, method (Features) HasUnknownBits() bool
 pkg syscall/zx/hardware/ethernet, method (Features) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/ethernet, method (Features) I_BitsMask() Features
-pkg syscall/zx/hardware/ethernet, method (Features) InvertKnownBits() Features
+pkg syscall/zx/hardware/ethernet, method (Features) InvertBits() Features
 pkg syscall/zx/hardware/ethernet, method (Features) String() string
 pkg syscall/zx/hardware/ethernet, type DeviceEventProxy struct
 pkg syscall/zx/hardware/ethernet, type DeviceEventProxy struct, embedded zx.Channel
@@ -1506,7 +1506,7 @@
 pkg syscall/zx/hardware/network, method (EthernetFeatures) HasUnknownBits() bool
 pkg syscall/zx/hardware/network, method (EthernetFeatures) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/network, method (EthernetFeatures) I_BitsMask() EthernetFeatures
-pkg syscall/zx/hardware/network, method (EthernetFeatures) InvertKnownBits() EthernetFeatures
+pkg syscall/zx/hardware/network, method (EthernetFeatures) InvertBits() EthernetFeatures
 pkg syscall/zx/hardware/network, method (EthernetFeatures) String() string
 pkg syscall/zx/hardware/network, method (FrameType) I_EnumIsStrict() bool
 pkg syscall/zx/hardware/network, method (FrameType) I_EnumValues() []FrameType
@@ -1532,7 +1532,7 @@
 pkg syscall/zx/hardware/network, method (RxFlags) HasUnknownBits() bool
 pkg syscall/zx/hardware/network, method (RxFlags) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/network, method (RxFlags) I_BitsMask() RxFlags
-pkg syscall/zx/hardware/network, method (RxFlags) InvertKnownBits() RxFlags
+pkg syscall/zx/hardware/network, method (RxFlags) InvertBits() RxFlags
 pkg syscall/zx/hardware/network, method (RxFlags) String() string
 pkg syscall/zx/hardware/network, method (SessionFlags) ClearBits(SessionFlags) SessionFlags
 pkg syscall/zx/hardware/network, method (SessionFlags) GetUnknownBits() uint64
@@ -1540,7 +1540,7 @@
 pkg syscall/zx/hardware/network, method (SessionFlags) HasUnknownBits() bool
 pkg syscall/zx/hardware/network, method (SessionFlags) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/network, method (SessionFlags) I_BitsMask() SessionFlags
-pkg syscall/zx/hardware/network, method (SessionFlags) InvertKnownBits() SessionFlags
+pkg syscall/zx/hardware/network, method (SessionFlags) InvertBits() SessionFlags
 pkg syscall/zx/hardware/network, method (SessionFlags) String() string
 pkg syscall/zx/hardware/network, method (StatusFlags) ClearBits(StatusFlags) StatusFlags
 pkg syscall/zx/hardware/network, method (StatusFlags) GetUnknownBits() uint64
@@ -1548,7 +1548,7 @@
 pkg syscall/zx/hardware/network, method (StatusFlags) HasUnknownBits() bool
 pkg syscall/zx/hardware/network, method (StatusFlags) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/network, method (StatusFlags) I_BitsMask() StatusFlags
-pkg syscall/zx/hardware/network, method (StatusFlags) InvertKnownBits() StatusFlags
+pkg syscall/zx/hardware/network, method (StatusFlags) InvertBits() StatusFlags
 pkg syscall/zx/hardware/network, method (StatusFlags) String() string
 pkg syscall/zx/hardware/network, method (TxAcceleration) I_EnumIsStrict() bool
 pkg syscall/zx/hardware/network, method (TxAcceleration) I_EnumValues() []TxAcceleration
@@ -1560,7 +1560,7 @@
 pkg syscall/zx/hardware/network, method (TxFlags) HasUnknownBits() bool
 pkg syscall/zx/hardware/network, method (TxFlags) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/network, method (TxFlags) I_BitsMask() TxFlags
-pkg syscall/zx/hardware/network, method (TxFlags) InvertKnownBits() TxFlags
+pkg syscall/zx/hardware/network, method (TxFlags) InvertBits() TxFlags
 pkg syscall/zx/hardware/network, method (TxFlags) String() string
 pkg syscall/zx/hardware/network, method (TxReturnFlags) ClearBits(TxReturnFlags) TxReturnFlags
 pkg syscall/zx/hardware/network, method (TxReturnFlags) GetUnknownBits() uint64
@@ -1568,7 +1568,7 @@
 pkg syscall/zx/hardware/network, method (TxReturnFlags) HasUnknownBits() bool
 pkg syscall/zx/hardware/network, method (TxReturnFlags) I_BitsIsStrict() bool
 pkg syscall/zx/hardware/network, method (TxReturnFlags) I_BitsMask() TxReturnFlags
-pkg syscall/zx/hardware/network, method (TxReturnFlags) InvertKnownBits() TxReturnFlags
+pkg syscall/zx/hardware/network, method (TxReturnFlags) InvertBits() TxReturnFlags
 pkg syscall/zx/hardware/network, method (TxReturnFlags) String() string
 pkg syscall/zx/hardware/network, type DeviceClass uint16
 pkg syscall/zx/hardware/network, type DeviceEventProxy struct
@@ -3127,7 +3127,7 @@
 pkg syscall/zx/io2, method (ConnectionFlags) HasUnknownBits() bool
 pkg syscall/zx/io2, method (ConnectionFlags) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (ConnectionFlags) I_BitsMask() ConnectionFlags
-pkg syscall/zx/io2, method (ConnectionFlags) InvertKnownBits() ConnectionFlags
+pkg syscall/zx/io2, method (ConnectionFlags) InvertBits() ConnectionFlags
 pkg syscall/zx/io2, method (ConnectionFlags) String() string
 pkg syscall/zx/io2, method (ConnectionInfoQuery) ClearBits(ConnectionInfoQuery) ConnectionInfoQuery
 pkg syscall/zx/io2, method (ConnectionInfoQuery) GetUnknownBits() uint64
@@ -3135,7 +3135,7 @@
 pkg syscall/zx/io2, method (ConnectionInfoQuery) HasUnknownBits() bool
 pkg syscall/zx/io2, method (ConnectionInfoQuery) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (ConnectionInfoQuery) I_BitsMask() ConnectionInfoQuery
-pkg syscall/zx/io2, method (ConnectionInfoQuery) InvertKnownBits() ConnectionInfoQuery
+pkg syscall/zx/io2, method (ConnectionInfoQuery) InvertBits() ConnectionInfoQuery
 pkg syscall/zx/io2, method (ConnectionInfoQuery) String() string
 pkg syscall/zx/io2, method (DeviceSignal) ClearBits(DeviceSignal) DeviceSignal
 pkg syscall/zx/io2, method (DeviceSignal) GetUnknownBits() uint64
@@ -3143,7 +3143,7 @@
 pkg syscall/zx/io2, method (DeviceSignal) HasUnknownBits() bool
 pkg syscall/zx/io2, method (DeviceSignal) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (DeviceSignal) I_BitsMask() DeviceSignal
-pkg syscall/zx/io2, method (DeviceSignal) InvertKnownBits() DeviceSignal
+pkg syscall/zx/io2, method (DeviceSignal) InvertBits() DeviceSignal
 pkg syscall/zx/io2, method (DeviceSignal) String() string
 pkg syscall/zx/io2, method (DirectoryWatchMask) ClearBits(DirectoryWatchMask) DirectoryWatchMask
 pkg syscall/zx/io2, method (DirectoryWatchMask) GetUnknownBits() uint64
@@ -3151,7 +3151,7 @@
 pkg syscall/zx/io2, method (DirectoryWatchMask) HasUnknownBits() bool
 pkg syscall/zx/io2, method (DirectoryWatchMask) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (DirectoryWatchMask) I_BitsMask() DirectoryWatchMask
-pkg syscall/zx/io2, method (DirectoryWatchMask) InvertKnownBits() DirectoryWatchMask
+pkg syscall/zx/io2, method (DirectoryWatchMask) InvertBits() DirectoryWatchMask
 pkg syscall/zx/io2, method (DirectoryWatchMask) String() string
 pkg syscall/zx/io2, method (FileSignal) ClearBits(FileSignal) FileSignal
 pkg syscall/zx/io2, method (FileSignal) GetUnknownBits() uint64
@@ -3159,7 +3159,7 @@
 pkg syscall/zx/io2, method (FileSignal) HasUnknownBits() bool
 pkg syscall/zx/io2, method (FileSignal) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (FileSignal) I_BitsMask() FileSignal
-pkg syscall/zx/io2, method (FileSignal) InvertKnownBits() FileSignal
+pkg syscall/zx/io2, method (FileSignal) InvertBits() FileSignal
 pkg syscall/zx/io2, method (FileSignal) String() string
 pkg syscall/zx/io2, method (NodeAttributesQuery) ClearBits(NodeAttributesQuery) NodeAttributesQuery
 pkg syscall/zx/io2, method (NodeAttributesQuery) GetUnknownBits() uint64
@@ -3167,7 +3167,7 @@
 pkg syscall/zx/io2, method (NodeAttributesQuery) HasUnknownBits() bool
 pkg syscall/zx/io2, method (NodeAttributesQuery) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (NodeAttributesQuery) I_BitsMask() NodeAttributesQuery
-pkg syscall/zx/io2, method (NodeAttributesQuery) InvertKnownBits() NodeAttributesQuery
+pkg syscall/zx/io2, method (NodeAttributesQuery) InvertBits() NodeAttributesQuery
 pkg syscall/zx/io2, method (NodeAttributesQuery) String() string
 pkg syscall/zx/io2, method (NodeProtocols) ClearBits(NodeProtocols) NodeProtocols
 pkg syscall/zx/io2, method (NodeProtocols) GetUnknownBits() uint64
@@ -3175,7 +3175,7 @@
 pkg syscall/zx/io2, method (NodeProtocols) HasUnknownBits() bool
 pkg syscall/zx/io2, method (NodeProtocols) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (NodeProtocols) I_BitsMask() NodeProtocols
-pkg syscall/zx/io2, method (NodeProtocols) InvertKnownBits() NodeProtocols
+pkg syscall/zx/io2, method (NodeProtocols) InvertBits() NodeProtocols
 pkg syscall/zx/io2, method (NodeProtocols) String() string
 pkg syscall/zx/io2, method (OpenMode) I_EnumIsStrict() bool
 pkg syscall/zx/io2, method (OpenMode) I_EnumValues() []OpenMode
@@ -3187,7 +3187,7 @@
 pkg syscall/zx/io2, method (Operations) HasUnknownBits() bool
 pkg syscall/zx/io2, method (Operations) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (Operations) I_BitsMask() Operations
-pkg syscall/zx/io2, method (Operations) InvertKnownBits() Operations
+pkg syscall/zx/io2, method (Operations) InvertBits() Operations
 pkg syscall/zx/io2, method (Operations) String() string
 pkg syscall/zx/io2, method (RightsResolution) I_EnumIsStrict() bool
 pkg syscall/zx/io2, method (RightsResolution) I_EnumValues() []RightsResolution
@@ -3203,7 +3203,7 @@
 pkg syscall/zx/io2, method (VmoFlags) HasUnknownBits() bool
 pkg syscall/zx/io2, method (VmoFlags) I_BitsIsStrict() bool
 pkg syscall/zx/io2, method (VmoFlags) I_BitsMask() VmoFlags
-pkg syscall/zx/io2, method (VmoFlags) InvertKnownBits() VmoFlags
+pkg syscall/zx/io2, method (VmoFlags) InvertBits() VmoFlags
 pkg syscall/zx/io2, method (VmoFlags) String() string
 pkg syscall/zx/io2, type AdvisoryLockRange struct
 pkg syscall/zx/io2, type AdvisoryLockRange struct, Length int64
@@ -3959,7 +3959,7 @@
 pkg syscall/zx/net, method (LookupIpOptions) HasUnknownBits() bool
 pkg syscall/zx/net, method (LookupIpOptions) I_BitsIsStrict() bool
 pkg syscall/zx/net, method (LookupIpOptions) I_BitsMask() LookupIpOptions
-pkg syscall/zx/net, method (LookupIpOptions) InvertKnownBits() LookupIpOptions
+pkg syscall/zx/net, method (LookupIpOptions) InvertBits() LookupIpOptions
 pkg syscall/zx/net, method (LookupIpOptions) String() string
 pkg syscall/zx/net, method (NameLookupWithCtxInterfaceRequest) Name() string
 pkg syscall/zx/net, method (NameLookupWithCtxInterfaceRequest) ToChannel() zx.Channel
@@ -5450,7 +5450,7 @@
 pkg syscall/zx/posix/socket, method (InterfaceFlags) HasUnknownBits() bool
 pkg syscall/zx/posix/socket, method (InterfaceFlags) I_BitsIsStrict() bool
 pkg syscall/zx/posix/socket, method (InterfaceFlags) I_BitsMask() InterfaceFlags
-pkg syscall/zx/posix/socket, method (InterfaceFlags) InvertKnownBits() InterfaceFlags
+pkg syscall/zx/posix/socket, method (InterfaceFlags) InvertBits() InterfaceFlags
 pkg syscall/zx/posix/socket, method (InterfaceFlags) String() string
 pkg syscall/zx/posix/socket, method (ProviderWithCtxInterfaceRequest) Name() string
 pkg syscall/zx/posix/socket, method (ProviderWithCtxInterfaceRequest) ToChannel() zx.Channel
@@ -5460,7 +5460,7 @@
 pkg syscall/zx/posix/socket, method (RecvMsgFlags) HasUnknownBits() bool
 pkg syscall/zx/posix/socket, method (RecvMsgFlags) I_BitsIsStrict() bool
 pkg syscall/zx/posix/socket, method (RecvMsgFlags) I_BitsMask() RecvMsgFlags
-pkg syscall/zx/posix/socket, method (RecvMsgFlags) InvertKnownBits() RecvMsgFlags
+pkg syscall/zx/posix/socket, method (RecvMsgFlags) InvertBits() RecvMsgFlags
 pkg syscall/zx/posix/socket, method (RecvMsgFlags) String() string
 pkg syscall/zx/posix/socket, method (SendMsgFlags) ClearBits(SendMsgFlags) SendMsgFlags
 pkg syscall/zx/posix/socket, method (SendMsgFlags) GetUnknownBits() uint64
@@ -5468,7 +5468,7 @@
 pkg syscall/zx/posix/socket, method (SendMsgFlags) HasUnknownBits() bool
 pkg syscall/zx/posix/socket, method (SendMsgFlags) I_BitsIsStrict() bool
 pkg syscall/zx/posix/socket, method (SendMsgFlags) I_BitsMask() SendMsgFlags
-pkg syscall/zx/posix/socket, method (SendMsgFlags) InvertKnownBits() SendMsgFlags
+pkg syscall/zx/posix/socket, method (SendMsgFlags) InvertBits() SendMsgFlags
 pkg syscall/zx/posix/socket, method (SendMsgFlags) String() string
 pkg syscall/zx/posix/socket, method (ShutdownMode) ClearBits(ShutdownMode) ShutdownMode
 pkg syscall/zx/posix/socket, method (ShutdownMode) GetUnknownBits() uint64
@@ -5476,7 +5476,7 @@
 pkg syscall/zx/posix/socket, method (ShutdownMode) HasUnknownBits() bool
 pkg syscall/zx/posix/socket, method (ShutdownMode) I_BitsIsStrict() bool
 pkg syscall/zx/posix/socket, method (ShutdownMode) I_BitsMask() ShutdownMode
-pkg syscall/zx/posix/socket, method (ShutdownMode) InvertKnownBits() ShutdownMode
+pkg syscall/zx/posix/socket, method (ShutdownMode) InvertBits() ShutdownMode
 pkg syscall/zx/posix/socket, method (ShutdownMode) String() string
 pkg syscall/zx/posix/socket, method (StreamSocketProtocol) I_EnumIsStrict() bool
 pkg syscall/zx/posix/socket, method (StreamSocketProtocol) I_EnumValues() []StreamSocketProtocol
diff --git a/src/syscall/zx/fidl/fidl_test/encoding_fuchsia_test.go b/src/syscall/zx/fidl/fidl_test/encoding_fuchsia_test.go
index 712a6a8..d7ded09 100644
--- a/src/syscall/zx/fidl/fidl_test/encoding_fuchsia_test.go
+++ b/src/syscall/zx/fidl/fidl_test/encoding_fuchsia_test.go
@@ -706,14 +706,14 @@
 		t.Errorf(
 			"Got wrong unknown bits: expected %b, was %b", 0b110100, unknownStrict.GetUnknownBits())
 	}
-	//if unknownStrict.InvertKnownBits() != 0b110110 {
-	//	t.Errorf(
-	//		"Got wrong InvertKnownBits: expected %b, got %b", 0b110110, unknownStrict.InvertKnownBits())
-	//}
-	//if unknownStrict != unknownStrict.InvertKnownBits().InvertKnownBits() {
-	//	t.Errorf(
-	//		"Got wrong double InvertKnownBits: expected %b, got %b", unknownStrict, unknownStrict.InvertKnownBits().InvertKnownBits())
-	//}
+	if unknownStrict.InvertBits() != 0b10 {
+		t.Errorf(
+			"Got wrong InvertBits: expected %b, got %b", 0b10, unknownStrict.InvertBits())
+	}
+	if unknownStrict.InvertBits().InvertBits() != 0b1 {
+		t.Errorf(
+			"Got wrong double InvertBits: expected %b, got %b", 0b1, unknownStrict.InvertBits().InvertBits())
+	}
 	if !unknownStrict.HasBits(0b1) {
 		t.Errorf("Failed to match on known bits for HasBits")
 	}
@@ -752,14 +752,14 @@
 		t.Errorf(
 			"Got wrong unknown bits: expected %b, was %b", 0b110100, unknownFlexible.GetUnknownBits())
 	}
-	//if unknownFlexible.InvertKnownBits() != 0b110110 {
-	//	t.Errorf(
-	//		"Got wrong InvertKnownBits: expected %b, got %b", 0b110110, unknownFlexible.InvertKnownBits())
-	//}
-	//if unknownFlexible != unknownFlexible.InvertKnownBits().InvertKnownBits() {
-	//	t.Errorf(
-	//		"Got wrong double InvertKnownBits: expected %b, got %b", unknownFlexible, unknownFlexible.InvertKnownBits().InvertKnownBits())
-	//}
+	if unknownFlexible.InvertBits() != 0b10 {
+		t.Errorf(
+			"Got wrong InvertBits: expected %b, got %b", 0b10, unknownFlexible.InvertBits())
+	}
+	if unknownFlexible.InvertBits().InvertBits() != 0b1 {
+		t.Errorf(
+			"Got wrong double InvertBits: expected %b, got %b", 0b1, unknownFlexible.InvertBits().InvertBits())
+	}
 	if !unknownFlexible.HasBits(0b1) {
 		t.Errorf("Failed to match on known bits for HasBits")
 	}
diff --git a/src/syscall/zx/fidl/internal/bindingstest/impl.go b/src/syscall/zx/fidl/internal/bindingstest/impl.go
index 19d8a33..f076c21 100644
--- a/src/syscall/zx/fidl/internal/bindingstest/impl.go
+++ b/src/syscall/zx/fidl/internal/bindingstest/impl.go
@@ -82,8 +82,8 @@
 	return uint64(^StrictBits_Mask & x)
 }
 
-func (x StrictBits) InvertKnownBits() StrictBits {
-	return (^StrictBits_Mask & x) | (StrictBits_Mask & ^x)
+func (x StrictBits) InvertBits() StrictBits {
+	return StrictBits_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -132,8 +132,8 @@
 	return uint64(^FlexibleBits_Mask & x)
 }
 
-func (x FlexibleBits) InvertKnownBits() FlexibleBits {
-	return (^FlexibleBits_Mask & x) | (FlexibleBits_Mask & ^x)
+func (x FlexibleBits) InvertBits() FlexibleBits {
+	return FlexibleBits_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
diff --git a/src/syscall/zx/hardware/ethernet/impl.go b/src/syscall/zx/hardware/ethernet/impl.go
index 141a002..e1a2f7a 100644
--- a/src/syscall/zx/hardware/ethernet/impl.go
+++ b/src/syscall/zx/hardware/ethernet/impl.go
@@ -50,8 +50,8 @@
 	return uint64(^Features_Mask & x)
 }
 
-func (x Features) InvertKnownBits() Features {
-	return (^Features_Mask & x) | (Features_Mask & ^x)
+func (x Features) InvertBits() Features {
+	return Features_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -101,8 +101,8 @@
 	return uint64(^DeviceStatus_Mask & x)
 }
 
-func (x DeviceStatus) InvertKnownBits() DeviceStatus {
-	return (^DeviceStatus_Mask & x) | (DeviceStatus_Mask & ^x)
+func (x DeviceStatus) InvertBits() DeviceStatus {
+	return DeviceStatus_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
diff --git a/src/syscall/zx/hardware/network/impl.go b/src/syscall/zx/hardware/network/impl.go
index d04773e..a33ccb1 100644
--- a/src/syscall/zx/hardware/network/impl.go
+++ b/src/syscall/zx/hardware/network/impl.go
@@ -394,8 +394,8 @@
 	return uint64(^StatusFlags_Mask & x)
 }
 
-func (x StatusFlags) InvertKnownBits() StatusFlags {
-	return (^StatusFlags_Mask & x) | (StatusFlags_Mask & ^x)
+func (x StatusFlags) InvertBits() StatusFlags {
+	return StatusFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -446,8 +446,8 @@
 	return uint64(^EthernetFeatures_Mask & x)
 }
 
-func (x EthernetFeatures) InvertKnownBits() EthernetFeatures {
-	return (^EthernetFeatures_Mask & x) | (EthernetFeatures_Mask & ^x)
+func (x EthernetFeatures) InvertBits() EthernetFeatures {
+	return EthernetFeatures_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -521,8 +521,8 @@
 	return uint64(^RxFlags_Mask & x)
 }
 
-func (x RxFlags) InvertKnownBits() RxFlags {
-	return (^RxFlags_Mask & x) | (RxFlags_Mask & ^x)
+func (x RxFlags) InvertBits() RxFlags {
+	return RxFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -621,8 +621,8 @@
 	return uint64(^TxFlags_Mask & x)
 }
 
-func (x TxFlags) InvertKnownBits() TxFlags {
-	return (^TxFlags_Mask & x) | (TxFlags_Mask & ^x)
+func (x TxFlags) InvertBits() TxFlags {
+	return TxFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -703,8 +703,8 @@
 	return uint64(^TxReturnFlags_Mask & x)
 }
 
-func (x TxReturnFlags) InvertKnownBits() TxReturnFlags {
-	return (^TxReturnFlags_Mask & x) | (TxReturnFlags_Mask & ^x)
+func (x TxReturnFlags) InvertBits() TxReturnFlags {
+	return TxReturnFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -759,8 +759,8 @@
 	return uint64(^SessionFlags_Mask & x)
 }
 
-func (x SessionFlags) InvertKnownBits() SessionFlags {
-	return (^SessionFlags_Mask & x) | (SessionFlags_Mask & ^x)
+func (x SessionFlags) InvertBits() SessionFlags {
+	return SessionFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
diff --git a/src/syscall/zx/io2/impl.go b/src/syscall/zx/io2/impl.go
index 0d15d6d..31ba261 100644
--- a/src/syscall/zx/io2/impl.go
+++ b/src/syscall/zx/io2/impl.go
@@ -322,8 +322,8 @@
 	return uint64(^ConnectionInfoQuery_Mask & x)
 }
 
-func (x ConnectionInfoQuery) InvertKnownBits() ConnectionInfoQuery {
-	return (^ConnectionInfoQuery_Mask & x) | (ConnectionInfoQuery_Mask & ^x)
+func (x ConnectionInfoQuery) InvertBits() ConnectionInfoQuery {
+	return ConnectionInfoQuery_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -397,8 +397,8 @@
 	return uint64(^NodeProtocols_Mask & x)
 }
 
-func (x NodeProtocols) InvertKnownBits() NodeProtocols {
-	return (^NodeProtocols_Mask & x) | (NodeProtocols_Mask & ^x)
+func (x NodeProtocols) InvertBits() NodeProtocols {
+	return NodeProtocols_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -464,8 +464,8 @@
 	return uint64(^ConnectionFlags_Mask & x)
 }
 
-func (x ConnectionFlags) InvertKnownBits() ConnectionFlags {
-	return (^ConnectionFlags_Mask & x) | (ConnectionFlags_Mask & ^x)
+func (x ConnectionFlags) InvertBits() ConnectionFlags {
+	return ConnectionFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -521,8 +521,8 @@
 	return uint64(^DeviceSignal_Mask & x)
 }
 
-func (x DeviceSignal) InvertKnownBits() DeviceSignal {
-	return (^DeviceSignal_Mask & x) | (DeviceSignal_Mask & ^x)
+func (x DeviceSignal) InvertBits() DeviceSignal {
+	return DeviceSignal_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -581,8 +581,8 @@
 	return uint64(^DirectoryWatchMask_Mask & x)
 }
 
-func (x DirectoryWatchMask) InvertKnownBits() DirectoryWatchMask {
-	return (^DirectoryWatchMask_Mask & x) | (DirectoryWatchMask_Mask & ^x)
+func (x DirectoryWatchMask) InvertBits() DirectoryWatchMask {
+	return DirectoryWatchMask_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -638,8 +638,8 @@
 	return uint64(^VmoFlags_Mask & x)
 }
 
-func (x VmoFlags) InvertKnownBits() VmoFlags {
-	return (^VmoFlags_Mask & x) | (VmoFlags_Mask & ^x)
+func (x VmoFlags) InvertBits() VmoFlags {
+	return VmoFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -694,8 +694,8 @@
 	return uint64(^FileSignal_Mask & x)
 }
 
-func (x FileSignal) InvertKnownBits() FileSignal {
-	return (^FileSignal_Mask & x) | (FileSignal_Mask & ^x)
+func (x FileSignal) InvertBits() FileSignal {
+	return FileSignal_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -753,8 +753,8 @@
 	return uint64(^NodeAttributesQuery_Mask & x)
 }
 
-func (x NodeAttributesQuery) InvertKnownBits() NodeAttributesQuery {
-	return (^NodeAttributesQuery_Mask & x) | (NodeAttributesQuery_Mask & ^x)
+func (x NodeAttributesQuery) InvertBits() NodeAttributesQuery {
+	return NodeAttributesQuery_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -827,8 +827,8 @@
 	return uint64(^Operations_Mask & x)
 }
 
-func (x Operations) InvertKnownBits() Operations {
-	return (^Operations_Mask & x) | (Operations_Mask & ^x)
+func (x Operations) InvertBits() Operations {
+	return Operations_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
diff --git a/src/syscall/zx/net/impl.go b/src/syscall/zx/net/impl.go
index d790c2b..a19d7dd 100644
--- a/src/syscall/zx/net/impl.go
+++ b/src/syscall/zx/net/impl.go
@@ -108,8 +108,8 @@
 	return uint64(^LookupIpOptions_Mask & x)
 }
 
-func (x LookupIpOptions) InvertKnownBits() LookupIpOptions {
-	return (^LookupIpOptions_Mask & x) | (LookupIpOptions_Mask & ^x)
+func (x LookupIpOptions) InvertBits() LookupIpOptions {
+	return LookupIpOptions_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
diff --git a/src/syscall/zx/posix/socket/impl.go b/src/syscall/zx/posix/socket/impl.go
index 0ba19ab..2f89534 100644
--- a/src/syscall/zx/posix/socket/impl.go
+++ b/src/syscall/zx/posix/socket/impl.go
@@ -194,8 +194,8 @@
 	return uint64(^RecvMsgFlags_Mask & x)
 }
 
-func (x RecvMsgFlags) InvertKnownBits() RecvMsgFlags {
-	return (^RecvMsgFlags_Mask & x) | (RecvMsgFlags_Mask & ^x)
+func (x RecvMsgFlags) InvertBits() RecvMsgFlags {
+	return RecvMsgFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -241,8 +241,8 @@
 	return uint64(^SendMsgFlags_Mask & x)
 }
 
-func (x SendMsgFlags) InvertKnownBits() SendMsgFlags {
-	return (^SendMsgFlags_Mask & x) | (SendMsgFlags_Mask & ^x)
+func (x SendMsgFlags) InvertBits() SendMsgFlags {
+	return SendMsgFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -290,8 +290,8 @@
 	return uint64(^ShutdownMode_Mask & x)
 }
 
-func (x ShutdownMode) InvertKnownBits() ShutdownMode {
-	return (^ShutdownMode_Mask & x) | (ShutdownMode_Mask & ^x)
+func (x ShutdownMode) InvertBits() ShutdownMode {
+	return ShutdownMode_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.
@@ -357,8 +357,8 @@
 	return uint64(^InterfaceFlags_Mask & x)
 }
 
-func (x InterfaceFlags) InvertKnownBits() InterfaceFlags {
-	return (^InterfaceFlags_Mask & x) | (InterfaceFlags_Mask & ^x)
+func (x InterfaceFlags) InvertBits() InterfaceFlags {
+	return InterfaceFlags_Mask & ^x
 }
 
 // HasBits validates that all flipped bits in the mask are set.