Fix is_32bit logic

Change-Id: I5df3a100b6536d34b885efee8688d90230538d0c
Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
diff --git a/src/lib.rs b/src/lib.rs
index c87fa90..559d2c2 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -141,7 +141,7 @@
 impl FuncId {
     /// Returns true if this is a 32-bit call, or false if it is a 64-bit call.
     pub fn is_32bit(&self) -> bool {
-        u32::from(*self) & (1 << 30) != 0
+        u32::from(*self) & (1 << 30) == 0
     }
 }
 
@@ -2070,4 +2070,21 @@
             assert_eq!(Interface::from_regs(version, &regs).unwrap(), interface);
         }
     }
+
+    #[test]
+    fn is_32bit() {
+        let interface_64 = Interface::MsgSendDirectReq {
+            src_id: 0,
+            dst_id: 1,
+            args: DirectMsgArgs::Args64([0, 0, 0, 0, 0]),
+        };
+        assert!(!interface_64.is_32bit());
+
+        let interface_32 = Interface::MsgSendDirectReq {
+            src_id: 0,
+            dst_id: 1,
+            args: DirectMsgArgs::Args32([0, 0, 0, 0, 0]),
+        };
+        assert!(interface_32.is_32bit());
+    }
 }