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>
bb10
parent
30801d2d5c
commit
c998200282
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue