Build: Added support for IAR toolchain to psoc64

- Added conditional compilation of subnormal float tests for M0+
  with IAR, as the IAR toolchain does not handle this for these
  targets.

- Successfully runs the supported regression tests, but fails the NaN
  QCBOR tests due to the tests not following the Arm ABI.

- Verified on psoc64

Change-Id: I483507ad2843b6745e3c1c845c939c80d90aa19d
Signed-off-by: TTornblom <thomas.tornblom@iar.com>
diff --git a/lib/ext/qcbor/test/UsefulBuf_Tests.c b/lib/ext/qcbor/test/UsefulBuf_Tests.c
index 1c2634e..8252968 100644
--- a/lib/ext/qcbor/test/UsefulBuf_Tests.c
+++ b/lib/ext/qcbor/test/UsefulBuf_Tests.c
@@ -705,6 +705,7 @@
       return "CopyFloatToUint32 failed";
    }
 
+#if !defined(__ICCARM__) || (__SUBNORMAL_FLOATING_POINTS__ == 1)
    if(UsefulBufUtil_CopyDoubleToUint64(4e-40F) != 0X37C16C2800000000ULL) {
       return "CopyDoubleToUint64 failed";
    }
@@ -712,6 +713,7 @@
    if(UsefulBufUtil_CopyUint64ToDouble(0X37C16C2800000000ULL) != 4e-40F) {
       return "CopyUint64ToDouble failed";
    }
+#endif
 
    if(UsefulBufUtil_CopyUint32ToFloat(0x47800000) != 65536.0F) {
       return "CopyUint32ToFloat failed";
diff --git a/lib/ext/qcbor/test/float_tests.c b/lib/ext/qcbor/test/float_tests.c
index 20057c3..5fd320b 100644
--- a/lib/ext/qcbor/test/float_tests.c
+++ b/lib/ext/qcbor/test/float_tests.c
@@ -394,10 +394,12 @@
     // in hex single is 0x38800000, exponent -14, significand 0
     QCBOREncode_AddDoubleAsSmallestToMap(&EC, "biggest subnormal",  0.0000610351563F);
 
+#if !defined(__ICCARM__) || (__SUBNORMAL_FLOATING_POINTS__ == 1)
     // 70                                   # text(16)
     //    7375626E6F726D616C2073696E676C65  # "subnormal single"
     // FB 37C16C2800000000                  # primitive(4017611261645684736)
     QCBOREncode_AddDoubleAsSmallestToMap(&EC, "subnormal single", 4e-40F);
+#endif
 
     // 03                                   # unsigned(3)
     // F9 C000                              # primitive(49152)