diff options
author | Tor Arne Vestbø <tor.arne.vestbo@digia.com> | 2014-10-28 13:20:59 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@digia.com> | 2014-11-03 18:17:35 +0100 |
commit | c998200282d5a6ce416aa8af9a6677fc2b1503af (patch) | |
tree | 6ad008b737253702c9942a2c150a1a2bd737b391 /src/gui/image | |
parent | 30801d2d5cdb89c6b6133a7e61973ec8b91c60d1 (diff) |
Don't build or use qt_convert_rgb888_to_rgb32_neon on ARM64/AArch64
The assembly code doesn't build on that architecture yet:
qimage_neon.cpp:78:17: error: vector register expected
"vld3.8 { d0, d1, d2 }, [%[SRC]] !\n\t"
^
<inline asm>:1:15: note: instantiated into assembly here
vld3.8 { d0, d1, d2 }, [x1] !
^
qimage_neon.cpp:78:57: error: unrecognized instruction mnemonic
"vld3.8 { d0, d1, d2 }, [%[SRC]] !\n\t"
^
<inline asm>:2:2: note: instantiated into assembly here
vswp d0, d2
^
qimage_neon.cpp:79:31: error: vector register expected
"vswp d0, d2\n\t"
^
<inline asm>:3:15: note: instantiated into assembly here
vst4.8 { d0, d1, d2, d3 }, [x8,:64] !
^
Change-Id: I8fe93b3940d971c0aed5973fe6e1a5e2f362df3c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qimage_conversions.cpp | 2 | ||||
-rw-r--r-- | src/gui/image/qimage_neon.cpp | 4 | ||||
-rw-r--r-- | src/gui/image/qjpeghandler.cpp | 5 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp index bfa628900f..17563b19c3 100644 --- a/src/gui/image/qimage_conversions.cpp +++ b/src/gui/image/qimage_conversions.cpp @@ -2694,7 +2694,7 @@ void qInitImageConversions() } #endif -#ifdef __ARM_NEON__ +#if defined(__ARM_NEON__) && !defined(Q_PROCESSOR_ARM_64) extern void convert_RGB888_to_RGB32_neon(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags); qimage_converter_map[QImage::Format_RGB888][QImage::Format_RGB32] = convert_RGB888_to_RGB32_neon; qimage_converter_map[QImage::Format_RGB888][QImage::Format_ARGB32] = convert_RGB888_to_RGB32_neon; diff --git a/src/gui/image/qimage_neon.cpp b/src/gui/image/qimage_neon.cpp index e3930bbb4d..88d1c87ee7 100644 --- a/src/gui/image/qimage_neon.cpp +++ b/src/gui/image/qimage_neon.cpp @@ -35,7 +35,7 @@ #include <private/qimage_p.h> #include <private/qsimd_p.h> -#ifdef __ARM_NEON__ +#if defined(__ARM_NEON__) && !defined(Q_PROCESSOR_ARM_64) QT_BEGIN_NAMESPACE @@ -103,4 +103,4 @@ void convert_RGB888_to_RGB32_neon(QImageData *dest, const QImageData *src, Qt::I QT_END_NAMESPACE -#endif // __ARM_NEON__ +#endif // defined(__ARM_NEON__) && !defined(Q_PROCESSOR_ARM_64) diff --git a/src/gui/image/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp index 7ca8969798..87992bcced 100644 --- a/src/gui/image/qjpeghandler.cpp +++ b/src/gui/image/qjpeghandler.cpp @@ -1001,12 +1001,13 @@ extern "C" void qt_convert_rgb888_to_rgb32_mips_dspr2_asm(quint32 *dst, const uc QJpegHandler::QJpegHandler() : d(new QJpegHandlerPrivate(this)) { -#if defined(__ARM_NEON__) +#if defined(__ARM_NEON__) && !defined(Q_PROCESSOR_ARM_64) // from qimage_neon.cpp if (qCpuHasFeature(NEON)) rgb888ToRgb32ConverterPtr = qt_convert_rgb888_to_rgb32_neon; -#endif // __ARM_NEON__ +#endif + #if defined(QT_COMPILER_SUPPORTS_SSSE3) // from qimage_ssse3.cpp |