-
Notifications
You must be signed in to change notification settings - Fork 567
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Upgrade: orc version to 0.4.39 (#11485)
- Loading branch information
Showing
4 changed files
with
145 additions
and
23 deletions.
There are no files selected for viewing
66 changes: 66 additions & 0 deletions
66
SPECS-EXTENDED/orc/0001-powerpc-fix-div255w-which-still-used-the-inexact-sub.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
From 508280f7ac31c7d0ab2eaed33b26e6df59bb4dd9 Mon Sep 17 00:00:00 2001 | ||
From: "L. E. Segovia" <[email protected]> | ||
Date: Fri, 19 Jul 2024 22:25:20 -0300 | ||
Subject: [PATCH 1/2] powerpc: fix div255w which still used the inexact | ||
substitution | ||
|
||
The code for this architecture used the substitution suggested in the | ||
original bug report. That one had subtle failures on armv7a and aarch64, | ||
but I was not able to verify if they affected PowerPC too. | ||
|
||
This commit fixes it by reusing the mulhuw instruction implementation -- | ||
sse2 can be ported directly that way. | ||
|
||
Fixes #71 | ||
|
||
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/195> | ||
--- | ||
orc/orcrules-altivec.c | 31 +++++++++++++++---------------- | ||
1 file changed, 15 insertions(+), 16 deletions(-) | ||
|
||
diff --git a/orc/orcrules-altivec.c b/orc/orcrules-altivec.c | ||
index 23409a8..a13fb5b 100644 | ||
--- a/orc/orcrules-altivec.c | ||
+++ b/orc/orcrules-altivec.c | ||
@@ -1513,23 +1513,22 @@ powerpc_rule_convlf (OrcCompiler *p, void *user, OrcInstruction *insn) | ||
static void | ||
powerpc_rule_div255w (OrcCompiler *p, void *user, OrcInstruction *insn) | ||
{ | ||
- int src1 = ORC_SRC_ARG (p, insn, 0); | ||
- int dest = ORC_DEST_ARG (p, insn, 0); | ||
- int tmp = orc_compiler_get_temp_reg (p); | ||
- int tmp2 = orc_compiler_get_temp_reg (p); | ||
- int tmpc; | ||
- | ||
- tmpc = powerpc_get_constant (p, ORC_CONST_SPLAT_W, 0x0001); | ||
- | ||
- ORC_ASM_CODE(p," vspltish %s, 8\n", powerpc_get_regname(tmp2)); | ||
- powerpc_emit_VX(p, 0x1000034c, powerpc_regnum(tmp2), 8, 0); | ||
- | ||
- powerpc_emit_VX_2 (p, "vadduhm", 0x10000040, dest, src1, tmpc); | ||
- | ||
- powerpc_emit_VX_2 (p, "vsrh", 0x10000244, tmp, src1, tmp2); | ||
- powerpc_emit_VX_2 (p, "vadduhm", 0x10000040, dest, dest, tmp); | ||
+ const int src1 = ORC_SRC_ARG (p, insn, 0); | ||
+ const int dest = ORC_DEST_ARG(p, insn, 0); | ||
+ const int tmp = powerpc_get_constant (p, ORC_CONST_SPLAT_W, 7); | ||
+ const int tmpc = powerpc_get_constant (p, ORC_CONST_SPLAT_W, 0x8081); | ||
+ | ||
+ { | ||
+ // mulhuw | ||
+ const int perm = powerpc_get_constant_full(p, 0x10110001, 0x14150405, | ||
+ 0x18190809, 0x1c1d0c0d); | ||
+ | ||
+ powerpc_emit_vmuleuh (p, p->tmpreg, src1, tmpc); | ||
+ powerpc_emit_vmulouh (p, dest, src1, tmpc); | ||
+ powerpc_emit_vperm (p, dest, dest, p->tmpreg, perm); | ||
+ } | ||
|
||
- powerpc_emit_VX_2 (p, "vsrh", 0x10000244, dest, dest, tmp2); | ||
+ powerpc_emit_VX_2 (p, "vsrh", 0x10000244, dest, dest, tmp); | ||
} | ||
|
||
static void | ||
-- | ||
2.45.2 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"Signatures": { | ||
"orc-0.4.31.tar.xz": "a0ab5f10a6a9ae7c3a6b4218246564c3bf00d657cbdf587e6d34ec3ef0616075" | ||
"orc-0.4.39.tar.xz": "33ed2387f49b825fa1b9c3b0072e05f259141b895474ad085ae51143d3040cc0" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,19 @@ | ||
Vendor: Microsoft Corporation | ||
Distribution: Azure Linux | ||
Name: orc | ||
Version: 0.4.31 | ||
Release: 4%{?dist} | ||
Version: 0.4.39 | ||
Release: 2%{?dist} | ||
Summary: The Oil Run-time Compiler | ||
|
||
License: BSD | ||
License: BSD-2-Clause AND BSD-3-Clause | ||
Vendor: Microsoft Corporation | ||
Distribution: Azure Linux | ||
URL: http://cgit.freedesktop.org/gstreamer/orc/ | ||
Source0: http://gstreamer.freedesktop.org/src/orc/%{name}-%{version}.tar.xz | ||
Source0: https://gstreamer.freedesktop.org/src/orc/%{name}-%{version}.tar.xz | ||
|
||
Patch0001: 0001-powerpc-fix-div255w-which-still-used-the-inexact-sub.patch | ||
|
||
BuildRequires: %{_bindir}/xsltproc | ||
BuildRequires: meson >= 0.47.0 | ||
BuildRequires: gcc | ||
BuildRequires: gtk-doc | ||
|
||
%description | ||
Orc is a library and set of tools for compiling and executing | ||
|
@@ -20,6 +22,14 @@ is a generic assembly language that represents many of the features | |
available in SIMD architectures, including saturated addition and | ||
subtraction, and many arithmetic operations. | ||
|
||
%package doc | ||
Summary: Documentation for Orc | ||
Requires: %{name} = %{version}-%{release} | ||
BuildArch: noarch | ||
|
||
%description doc | ||
Documentation for Orc. | ||
|
||
%package devel | ||
Summary: Development files and libraries for Orc | ||
Requires: %{name} = %{version}-%{release} | ||
|
@@ -40,10 +50,10 @@ The Orc compiler, to produce optimized code. | |
|
||
|
||
%prep | ||
%setup -q | ||
%autosetup -p1 | ||
|
||
%build | ||
%meson -D default_library=shared -Dgtk_doc=disabled | ||
%meson -D default_library=shared | ||
%meson_build | ||
|
||
%install | ||
|
@@ -54,39 +64,85 @@ find %{buildroot}/%{_libdir} -name \*.a -delete | |
rm -rf %{buildroot}/%{_libdir}/orc | ||
|
||
%check | ||
%ifnarch s390 s390x ppc %{power64} %{arm} i686 aarch64 | ||
%meson_test | ||
%endif | ||
|
||
%ldconfig_scriptlets | ||
|
||
|
||
%files | ||
%license COPYING | ||
%doc README | ||
%{_libdir}/liborc-*.so.* | ||
%{_libdir}/liborc-0.4.so.0* | ||
%{_libdir}/liborc-test-0.4.so* | ||
%{_bindir}/orc-bugreport | ||
|
||
%files doc | ||
%doc %{_datadir}/gtk-doc/html/orc/ | ||
|
||
%files devel | ||
%doc examples/*.c | ||
%{_includedir}/%{name}-0.4/ | ||
%{_libdir}/liborc-*.so | ||
%{_libdir}/liborc-0.4.so | ||
%{_libdir}/pkgconfig/orc-0.4.pc | ||
%{_libdir}/pkgconfig/orc-test-0.4.pc | ||
%{_datadir}/aclocal/orc.m4 | ||
|
||
%files compiler | ||
%{_bindir}/orcc | ||
|
||
|
||
%changelog | ||
* Mon Mar 21 2022 Pawel Winogrodzki <[email protected]> - 0.4.31-4 | ||
- Adding BR on '%%{_bindir}/xsltproc'. | ||
- Disabled gtk doc generation to remove network dependency during build-time. | ||
* Tue Dec 17 2024 Jyoti kanase <[email protected]> - 0.4.39-2 | ||
- Initial Azure Linux import from Fedora 41 (license: MIT). | ||
- License verified. | ||
|
||
* Fri Oct 15 2021 Pawel Winogrodzki <[email protected]> - 0.4.31-3 | ||
- Initial CBL-Mariner import from Fedora 32 (license: MIT). | ||
* Tue Jul 30 2024 Wim Taymans <[email protected]> 0.4.39-1 | ||
- Update to 0.4.39 | ||
- Add patch for div255w fix on ppc64le | ||
|
||
* Thu Jul 18 2024 Fedora Release Engineering <[email protected]> - 0.4.38-3 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild | ||
|
||
* Wed Mar 06 2024 Peter Robinson <[email protected]> - 0.4.38-2 | ||
- Move orc-test to main package | ||
|
||
* Tue Mar 05 2024 Peter Robinson <[email protected]> - 0.4.38-1 | ||
- Update to 0.4.38 | ||
- Version the library to catch bumps | ||
- Cleanup spec, use license var | ||
|
||
* Thu Jan 25 2024 Fedora Release Engineering <[email protected]> - 0.4.33-5 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild | ||
|
||
* Sun Jan 21 2024 Fedora Release Engineering <[email protected]> - 0.4.33-4 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild | ||
|
||
* Thu Jul 20 2023 Fedora Release Engineering <[email protected]> - 0.4.33-3 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild | ||
|
||
* Thu Jan 19 2023 Fedora Release Engineering <[email protected]> - 0.4.33-2 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild | ||
|
||
* Fri Nov 04 2022 Wim Taymans <[email protected]> 0.4.33-1 | ||
- Update to 0.4.33 | ||
|
||
* Fri Jul 22 2022 Fedora Release Engineering <[email protected]> - 0.4.31-8 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild | ||
|
||
* Thu Jan 20 2022 Fedora Release Engineering <[email protected]> - 0.4.31-7 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild | ||
|
||
* Wed Aug 18 2021 Vít Ondruch <[email protected]> - 0.4.31-6 | ||
- Fix ppc64le segfault when used via libvips. | ||
Resolves: rhbz#1917540 | ||
|
||
* Thu Jul 22 2021 Fedora Release Engineering <[email protected]> - 0.4.31-5 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild | ||
|
||
* Tue Jan 26 2021 Fedora Release Engineering <[email protected]> - 0.4.31-4 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild | ||
|
||
* Tue Jul 28 2020 Fedora Release Engineering <[email protected]> - 0.4.31-3 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild | ||
|
||
* Wed Jan 29 2020 Fedora Release Engineering <[email protected]> - 0.4.31-2 | ||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters