public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases @ 2020-05-23 20:56 glaubitz at physik dot fu-berlin.de 2020-05-29 22:32 ` [Bug target/95294] " egallager at gcc dot gnu.org ` (6 more replies) 0 siblings, 7 replies; 8+ messages in thread From: glaubitz at physik dot fu-berlin.de @ 2020-05-23 20:56 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 Bug ID: 95294 Summary: [vax] Convert the backend to MODE_CC so it can be kept in future releases Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: glaubitz at physik dot fu-berlin.de CC: martin at netbsd dot org Target Milestone: --- Target: vax-*-* This is a tracker bug for the convert the vax backend from CC0 to MODE_CC so it can be kept in future releases as there has been interest raised on the NetBSD/VAX mailing list: See: http://mail-index.netbsd.org/port-vax/2020/04/16/msg003460.html For the background of the CC0 transition, see: > https://gcc.gnu.org/wiki/CC0Transition I will be using this bug report to create a bounty on BountySource.com. We have already successfully funded such a conversion for the m68k backend, see #91851. Another campaign is ongoing for the avr backend, see #92729. To test the backend, the emulator SimH can be used to install the VAX port of NetBSD. For that matter, a test image has been provided by John Klos: > http://mail-index.netbsd.org/port-vax/2020/04/18/msg003481.html There is also a generic howto which explains how to set up and install NetBSD/VAX inside SimH: > http://www.netbsd.org/ports/vax/emulator-howto.html SimH is available for immediate installation in openSUSE, Ubuntu, Debian and Fedora. Alternatively, SimH can be obtained from the upstream project: > https://github.com/simh > http://simh.trailing-edge.com/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de @ 2020-05-29 22:32 ` egallager at gcc dot gnu.org 2020-10-17 19:13 ` macro@linux-mips.org ` (5 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: egallager at gcc dot gnu.org @ 2020-05-29 22:32 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |egallager at gcc dot gnu.org, | |matt@3am-software.com --- Comment #1 from Eric Gallager <egallager at gcc dot gnu.org> --- cc-ing vax maintainer listed in MAINTAINERS ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de 2020-05-29 22:32 ` [Bug target/95294] " egallager at gcc dot gnu.org @ 2020-10-17 19:13 ` macro@linux-mips.org 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org ` (4 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: macro@linux-mips.org @ 2020-10-17 19:13 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 Maciej W. Rozycki <macro@linux-mips.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED CC| |macro@linux-mips.org Target Milestone|--- |11.0 Assignee|unassigned at gcc dot gnu.org |macro@linux-mips.org Ever confirmed|0 |1 Last reconfirmed| |2020-10-17 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de 2020-05-29 22:32 ` [Bug target/95294] " egallager at gcc dot gnu.org 2020-10-17 19:13 ` macro@linux-mips.org @ 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org ` (3 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2020-12-05 18:30 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 --- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Maciej W. Rozycki <macro@gcc.gnu.org>: https://gcc.gnu.org/g:e552abe2ba27ccec0d7c0d050b4617f2f636dd63 commit r11-5796-ge552abe2ba27ccec0d7c0d050b4617f2f636dd63 Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Sat Dec 5 18:26:27 2020 +0000 PR target/95294: VAX: Convert backend to MODE_CC representation In the VAX ISA INSV bit-field insert instruction is the only computational operation that keeps the condition codes, held in the PSL or Processor Status Longword register, intact. The instruction is flexible enough it could potentially be used for data moves post-reload, but then reportedly it is not the best choice performance-wise, and then we have no addition operation available that would keep the condition codes unchanged. Futhermore, as usually with a complex CISC ISA, for many operations we have several machine instructions or instruction sequences to choose from that set condition codes in a different manner. Use the approach then where the condition codes only get introduced by reload, by definining instruction splitters for RTL insns that change condition codes in some way, by default considering them clobbered. Then to prevent code generated from regressing too much provide insns that include a `compare' operation setting the condition codes in parallel to the main operation. The manner condition codes are set by each insn is supposed to be provided by the whatever the SELECT_CC_MODE macro expands to. Given that individual patterns provided for the same RTL basic operation may set the condion codes differently keeping the information away from the insn patterns themselves would cause a maintenance nightmare and would be bound to fail in a horrible way sooner or later. Therefore instead let the patterns themselves choose which condition modes they support, by having one or more subst iterators applied and then have individual comparison operators require the specific condition mode each according to the codes used by the operation. While subst iterators only support one alternative each, there is actually no problem with applying multiple ones to a single insn with the result as intended, and if the corresponding subst attribute supplies an empty NO-SUBST-VALUE, then no mess results even. Make use of this observation. Add appropriate subst iterators to all the computational patterns then, according to the condition codes they usably set, including DImode ones and a substitute DImode comparison instruction in the absence of a CMPQ machine instruction, however do not provide a `cbranchdi4' named pattern as without a further development it regresses code quality by resorting to the `__cmpdi2' libcall where a simpler operation would do, e.g. to check for negativity the TSTL machine instruction may be executed over the upper longword only. This is good material for further work. Do not apply subst iterators to the increment- or decrement-and-branch patterns at this time; these may yet have to be reviewed, in particular whether `*jsobneq_minus_one' is still relevant in the context of the recent integer constant cost review. Also add a couple of peepholes to help eliminating comparisons in some problematic cases, such as with the BIT instruction which is bitwise-AND for condition codes only that has no direct counterpart for the actual calculation, because the BIC instruction which does do bitwise-AND and produces a result implements the operation with a bitwise negation of its input `mask' operand. Or the FFS instruction which sets the Z condition code according to its `field' input operand rather than the result produced. Or the bit-field comparisons we don't have generic middle-end support for. Code size stats are as follows, obtained from 17640 and 9086 executables built in `check-c' and `check-c++' GCC testing respectively: check-c check-c++ samples average median samples average median --------------------------------------------------------------- regressions 1813 0.578% 0.198% 289 0.349% 0.175% unchanged 15160 0.000% 0.000% 8662 0.000% 0.000% progressions 667 -0.589% -0.194% 135 -0.944% -0.191% ---------------------------------------------------------------- total 17640 0.037% 0.000% 9086 -0.003% 0.000% Outliers: old new change %change filename ---------------------------------------------------- 2406 2950 +544 +22.610 20111208-1.exe 4314 5329 +1015 +23.528 pr39417.exe 2235 3055 +820 +36.689 990404-1.exe 2631 4213 +1582 +60.129 pr57521.exe 3063 5579 +2516 +82.142 20000422-1.exe and: old new change %change filename ---------------------------------------------------- 6317 4845 -1472 -23.302 vector-compare-1.exe 6313 4845 -1468 -23.254 vector-compare-1.exe 6474 5002 -1472 -22.737 vector-compare-1.exe 6470 5002 -1468 -22.689 vector-compare-1.exe We have some code quality regressions like: 10861: 9e ef d9 12 movab 11b40 <p>,r0 10865: 00 00 50 10868: 90 a0 03 a0 movb 0x3(r0),0x2(r0) 1086c: 02 1086d: d1 60 8f 61 cmpl (r0),$0x64646261 10871: 62 64 64 10874: 13 07 beql 1087d <main_test+0x21> to: 10861: 9e ef e1 12 movab 11b48 <p>,r0 10865: 00 00 50 10868: 90 a0 03 a0 movb 0x3(r0),0x2(r0) 1086c: 02 1086d: d1 ef d5 12 cmpl 11b48 <p>,$0x64646261 10871: 00 00 8f 61 10875: 62 64 64 10878: 13 07 beql 10881 <main_test+0x25> (from `memmove-2.x2') due to the constant propagation passes eagerly replacing pseudo registers with direct symbol references where possible, which does not happen with CC0 even though the passes do run regardless. There are further code quality regressions due to earlier compilation stages trying to push expression evaluation earlier where possible so as to make data dependencies further apart from each other. This works well for computations and architectures that do not involve condition codes set as a side effect of calculations. However for integer negation that makes assembly code produced like: movb *8(%ap),%r0 mnegb %r0,%r1 tstb %r0 jeql .L2 the RTL equibvalent of which the comparison elimination pass cannot really do anything about, because the comparison is made on the source rather than the target operand of the negation (we could add a peephole for this, but this seems futile an effort, as one'd have to iterate over all the possible such cases), even though this is really equivalent to: movb *8(%ap),%r0 mnegb %r0,%r1 jeql .L2 or, if R0 is dead at the conclusion of the branch, even: mnegb *8(%ap),%r1 jeql .L2 Since the compiler insists on doing the comparison on the source of the negation it obviously has to load it into a temporary so as to avoid accessing the original memory location twice, hence the sequence of three instructions rather than just a single one. A similar phenomenon can be observed with the XOR operation and in other cases. In some cases a comparison does get eliminated, however useless moves into registers done in preparation to it remain, such as with: movb *8(%ap),%r2 movb *12(%ap),%r1 subb3 %r1,%r2,%r0 jlssu .L2 where R1 and R2 are both dead at conclusion and therefore: subb3 *12(%ap),*8(%ap),%r0 jlssu .L2 would obviously do, but there was to be a comparison before the branch: cmpb %r2,%r1 All this looks like material for future improvement. Test cases for comparison elimination and the peepholes will be supplied separately. gcc/ PR target/95294 * config/vax/elf.h (REGISTER_NAMES): Append `%psl'. * config/vax/vax-modes.def (CCN, CCNZ, CCZ): New modes. * config/vax/vax-protos.h (vax_select_cc_mode): New prototype. (vax_maybe_split_dimode_move): Likewise. (vax_notice_update_cc): Remove prototype. * config/vax/vax.c (TARGET_FLAGS_REGNUM): New macro. (TARGET_CC_MODES_COMPATIBLE): Likewise. (TARGET_MD_ASM_ADJUST): Likewise. (vax_select_cc_mode): New function (vax_cc_modes_compatible): Likewise. (vax_md_asm_adjust): Likewise. (vax_notice_update_cc): Remove function. (vax_output_int_move): Factor out code checking if a DImode move may have to be split... (vax_maybe_split_dimode_move): ... into this new function. * config/vax/vax.h (FIRST_PSEUDO_REGISTER): Bump up. (FIXED_REGISTERS): Append an entry for PSL. (CALL_USED_REGISTERS): Likewise. (NOTICE_UPDATE_CC, OUTPUT_JUMP): Remove macros. (SELECT_CC_MODE): New macro. (REGISTER_NAMES): Append `psl'. * config/vax/predicates.md (const_zero_operand) (vax_cc_comparison_operator, vax_ccn_comparison_operator) (vax_ccnz_comparison_operator, vax_ccz_comparison_operator): New predicates. * config/vax/builtins.md: Rewrite for MODE_CC representation. * config/vax/vax.md: Likewise. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de ` (2 preceding siblings ...) 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org @ 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org 2020-12-05 18:38 ` macro@linux-mips.org ` (2 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2020-12-05 18:30 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 --- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Maciej W. Rozycki <macro@gcc.gnu.org>: https://gcc.gnu.org/g:4f47fca1d0fc2c6efef791d6dd115abd9d221733 commit r11-5797-g4f47fca1d0fc2c6efef791d6dd115abd9d221733 Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Sat Dec 5 18:26:27 2020 +0000 PR target/95294: VAX: Add test cases for MODE_CC representation gcc/testsuite/ PR target/95294 * gcc.target/vax/cmpelim-eq-adddf.c: New test. * gcc.target/vax/cmpelim-eq-addhi.c: New test. * gcc.target/vax/cmpelim-eq-addqi.c: New test. * gcc.target/vax/cmpelim-eq-addsf.c: New test. * gcc.target/vax/cmpelim-eq-addsi.c: New test. * gcc.target/vax/cmpelim-eq-andhi.c: New test. * gcc.target/vax/cmpelim-eq-andqi.c: New test. * gcc.target/vax/cmpelim-eq-andsi.c: New test. * gcc.target/vax/cmpelim-eq-ashlsi.c: New test. * gcc.target/vax/cmpelim-eq-ashrsi.c: New test. * gcc.target/vax/cmpelim-eq-divdf.c: New test. * gcc.target/vax/cmpelim-eq-divhi.c: New test. * gcc.target/vax/cmpelim-eq-divqi.c: New test. * gcc.target/vax/cmpelim-eq-divsf.c: New test. * gcc.target/vax/cmpelim-eq-divsi.c: New test. * gcc.target/vax/cmpelim-eq-extendhisi.c: New test. * gcc.target/vax/cmpelim-eq-extendqisi.c: New test. * gcc.target/vax/cmpelim-eq-extvsi.c: New test. * gcc.target/vax/cmpelim-eq-extzvsi.c: New test. * gcc.target/vax/cmpelim-eq-fixdfhi.c: New test. * gcc.target/vax/cmpelim-eq-fixdfqi.c: New test. * gcc.target/vax/cmpelim-eq-fixdfsi.c: New test. * gcc.target/vax/cmpelim-eq-fixsfhi.c: New test. * gcc.target/vax/cmpelim-eq-fixsfqi.c: New test. * gcc.target/vax/cmpelim-eq-fixsfsi.c: New test. * gcc.target/vax/cmpelim-eq-floatsisf.c: New test. * gcc.target/vax/cmpelim-eq-insvsi.c: New test. * gcc.target/vax/cmpelim-eq-iorhi.c: New test. * gcc.target/vax/cmpelim-eq-iorqi.c: New test. * gcc.target/vax/cmpelim-eq-iorsi.c: New test. * gcc.target/vax/cmpelim-eq-mova.c: New test. * gcc.target/vax/cmpelim-eq-movdf.c: New test. * gcc.target/vax/cmpelim-eq-movhi.c: New test. * gcc.target/vax/cmpelim-eq-movqi.c: New test. * gcc.target/vax/cmpelim-eq-movsf.c: New test. * gcc.target/vax/cmpelim-eq-movsi.c: New test. * gcc.target/vax/cmpelim-eq-muldf.c: New test. * gcc.target/vax/cmpelim-eq-mulhi.c: New test. * gcc.target/vax/cmpelim-eq-mulqi.c: New test. * gcc.target/vax/cmpelim-eq-mulsf.c: New test. * gcc.target/vax/cmpelim-eq-mulsi.c: New test. * gcc.target/vax/cmpelim-eq-nothi.c: New test. * gcc.target/vax/cmpelim-eq-notqi.c: New test. * gcc.target/vax/cmpelim-eq-notsi.c: New test. * gcc.target/vax/cmpelim-eq-rotlsi.c: New test. * gcc.target/vax/cmpelim-eq-rotrsi.c: New test. * gcc.target/vax/cmpelim-eq-subdf.c: New test. * gcc.target/vax/cmpelim-eq-subhi.c: New test. * gcc.target/vax/cmpelim-eq-subqi.c: New test. * gcc.target/vax/cmpelim-eq-subsf.c: New test. * gcc.target/vax/cmpelim-eq-subsi.c: New test. * gcc.target/vax/cmpelim-eq-truncdfsf.c: New test. * gcc.target/vax/cmpelim-eq-trunchiqi.c: New test. * gcc.target/vax/cmpelim-eq-truncsihi.c: New test. * gcc.target/vax/cmpelim-eq-truncsiqi.c: New test. * gcc.target/vax/cmpelim-eq-zextendhisi.c: New test. * gcc.target/vax/cmpelim-eq-zextendqihi.c: New test. * gcc.target/vax/cmpelim-eq-zextendqisi.c: New test. * gcc.target/vax/cmpelim-le-adddf.c: New test. * gcc.target/vax/cmpelim-le-addhi.c: New test. * gcc.target/vax/cmpelim-le-addqi.c: New test. * gcc.target/vax/cmpelim-le-addsf.c: New test. * gcc.target/vax/cmpelim-le-addsi.c: New test. * gcc.target/vax/cmpelim-le-andhi.c: New test. * gcc.target/vax/cmpelim-le-andqi.c: New test. * gcc.target/vax/cmpelim-le-andsi.c: New test. * gcc.target/vax/cmpelim-le-ashlsi.c: New test. * gcc.target/vax/cmpelim-le-ashrsi.c: New test. * gcc.target/vax/cmpelim-le-divdf.c: New test. * gcc.target/vax/cmpelim-le-divhi.c: New test. * gcc.target/vax/cmpelim-le-divqi.c: New test. * gcc.target/vax/cmpelim-le-divsf.c: New test. * gcc.target/vax/cmpelim-le-divsi.c: New test. * gcc.target/vax/cmpelim-le-extendhisi.c: New test. * gcc.target/vax/cmpelim-le-extendqisi.c: New test. * gcc.target/vax/cmpelim-le-extvsi.c: New test. * gcc.target/vax/cmpelim-le-extzvsi.c: New test. * gcc.target/vax/cmpelim-le-fixdfhi.c: New test. * gcc.target/vax/cmpelim-le-fixdfqi.c: New test. * gcc.target/vax/cmpelim-le-fixdfsi.c: New test. * gcc.target/vax/cmpelim-le-fixsfhi.c: New test. * gcc.target/vax/cmpelim-le-fixsfqi.c: New test. * gcc.target/vax/cmpelim-le-fixsfsi.c: New test. * gcc.target/vax/cmpelim-le-floatsisf.c: New test. * gcc.target/vax/cmpelim-le-insvsi.c: New test. * gcc.target/vax/cmpelim-le-iorhi.c: New test. * gcc.target/vax/cmpelim-le-iorqi.c: New test. * gcc.target/vax/cmpelim-le-iorsi.c: New test. * gcc.target/vax/cmpelim-le-movdf.c: New test. * gcc.target/vax/cmpelim-le-movhi.c: New test. * gcc.target/vax/cmpelim-le-movqi.c: New test. * gcc.target/vax/cmpelim-le-movsf.c: New test. * gcc.target/vax/cmpelim-le-movsi.c: New test. * gcc.target/vax/cmpelim-le-muldf.c: New test. * gcc.target/vax/cmpelim-le-mulhi.c: New test. * gcc.target/vax/cmpelim-le-mulqi.c: New test. * gcc.target/vax/cmpelim-le-mulsf.c: New test. * gcc.target/vax/cmpelim-le-mulsi.c: New test. * gcc.target/vax/cmpelim-le-nothi.c: New test. * gcc.target/vax/cmpelim-le-notqi.c: New test. * gcc.target/vax/cmpelim-le-notsi.c: New test. * gcc.target/vax/cmpelim-le-rotlsi.c: New test. * gcc.target/vax/cmpelim-le-rotrsi.c: New test. * gcc.target/vax/cmpelim-le-subdf.c: New test. * gcc.target/vax/cmpelim-le-subhi.c: New test. * gcc.target/vax/cmpelim-le-subqi.c: New test. * gcc.target/vax/cmpelim-le-subsf.c: New test. * gcc.target/vax/cmpelim-le-subsi.c: New test. * gcc.target/vax/cmpelim-le-truncdfsf.c: New test. * gcc.target/vax/cmpelim-le-xorhi.c: New test. * gcc.target/vax/cmpelim-le-xorqi.c: New test. * gcc.target/vax/cmpelim-le-xorsi.c: New test. * gcc.target/vax/cmpelim-leu-subhi.c: New test. * gcc.target/vax/cmpelim-leu-subqi.c: New test. * gcc.target/vax/cmpelim-leu-subsi.c: New test. * gcc.target/vax/cmpelim-lt-adddf.c: New test. * gcc.target/vax/cmpelim-lt-addhi.c: New test. * gcc.target/vax/cmpelim-lt-addqi.c: New test. * gcc.target/vax/cmpelim-lt-addsf.c: New test. * gcc.target/vax/cmpelim-lt-addsi.c: New test. * gcc.target/vax/cmpelim-lt-andhi.c: New test. * gcc.target/vax/cmpelim-lt-andqi.c: New test. * gcc.target/vax/cmpelim-lt-andsi.c: New test. * gcc.target/vax/cmpelim-lt-ashlsi.c: New test. * gcc.target/vax/cmpelim-lt-ashrsi.c: New test. * gcc.target/vax/cmpelim-lt-divdf.c: New test. * gcc.target/vax/cmpelim-lt-divhi.c: New test. * gcc.target/vax/cmpelim-lt-divqi.c: New test. * gcc.target/vax/cmpelim-lt-divsf.c: New test. * gcc.target/vax/cmpelim-lt-divsi.c: New test. * gcc.target/vax/cmpelim-lt-extendhisi.c: New test. * gcc.target/vax/cmpelim-lt-extendqisi.c: New test. * gcc.target/vax/cmpelim-lt-extvsi.c: New test. * gcc.target/vax/cmpelim-lt-extzvsi.c: New test. * gcc.target/vax/cmpelim-lt-fixdfhi.c: New test. * gcc.target/vax/cmpelim-lt-fixdfqi.c: New test. * gcc.target/vax/cmpelim-lt-fixdfsi.c: New test. * gcc.target/vax/cmpelim-lt-fixsfhi.c: New test. * gcc.target/vax/cmpelim-lt-fixsfqi.c: New test. * gcc.target/vax/cmpelim-lt-fixsfsi.c: New test. * gcc.target/vax/cmpelim-lt-floatsisf.c: New test. * gcc.target/vax/cmpelim-lt-insvsi.c: New test. * gcc.target/vax/cmpelim-lt-iorhi.c: New test. * gcc.target/vax/cmpelim-lt-iorqi.c: New test. * gcc.target/vax/cmpelim-lt-iorsi.c: New test. * gcc.target/vax/cmpelim-lt-movdf.c: New test. * gcc.target/vax/cmpelim-lt-movhi.c: New test. * gcc.target/vax/cmpelim-lt-movqi.c: New test. * gcc.target/vax/cmpelim-lt-movsf.c: New test. * gcc.target/vax/cmpelim-lt-movsi.c: New test. * gcc.target/vax/cmpelim-lt-muldf.c: New test. * gcc.target/vax/cmpelim-lt-mulhi.c: New test. * gcc.target/vax/cmpelim-lt-mulqi.c: New test. * gcc.target/vax/cmpelim-lt-mulsf.c: New test. * gcc.target/vax/cmpelim-lt-mulsi.c: New test. * gcc.target/vax/cmpelim-lt-nothi.c: New test. * gcc.target/vax/cmpelim-lt-notqi.c: New test. * gcc.target/vax/cmpelim-lt-notsi.c: New test. * gcc.target/vax/cmpelim-lt-rotlsi.c: New test. * gcc.target/vax/cmpelim-lt-rotrsi.c: New test. * gcc.target/vax/cmpelim-lt-subdf.c: New test. * gcc.target/vax/cmpelim-lt-subhi.c: New test. * gcc.target/vax/cmpelim-lt-subqi.c: New test. * gcc.target/vax/cmpelim-lt-subsf.c: New test. * gcc.target/vax/cmpelim-lt-subsi.c: New test. * gcc.target/vax/cmpelim-lt-truncdfsf.c: New test. * gcc.target/vax/cmpelim-lt-xorhi.c: New test. * gcc.target/vax/cmpelim-lt-xorqi.c: New test. * gcc.target/vax/cmpelim-lt-xorsi.c: New test. * gcc.target/vax/cmpelim-ltu-subhi.c: New test. * gcc.target/vax/cmpelim-ltu-subqi.c: New test. * gcc.target/vax/cmpelim-ltu-subsi.c: New test. * gcc.target/vax/cmpelim-xx-addsi.c: New test. * gcc.target/vax/cmpelim-xx-insvsi.c: New test. * gcc.target/vax/cmpelim-xxu-subsi.c: New test. * gcc.target/vax/peephole2-eq-andhi.c: New test. * gcc.target/vax/peephole2-eq-andqi.c: New test. * gcc.target/vax/peephole2-eq-andsi.c: New test. * gcc.target/vax/peephole2-eq-cmpvsi.c: New test. * gcc.target/vax/peephole2-eq-cmpzvsi.c: New test. * gcc.target/vax/peephole2-eq-ctzhi-0.c: New test. * gcc.target/vax/peephole2-eq-ctzhi-1.c: New test. * gcc.target/vax/peephole2-eq-ctzqi-0.c: New test. * gcc.target/vax/peephole2-eq-ctzqi-1.c: New test. * gcc.target/vax/peephole2-eq-ctzsi-0.c: New test. * gcc.target/vax/peephole2-eq-ctzsi-1.c: New test. * gcc.target/vax/peephole2-eq-ffshi.c: New test. * gcc.target/vax/peephole2-eq-ffsqi.c: New test. * gcc.target/vax/peephole2-eq-ffssi.c: New test. * gcc.target/vax/peephole2-le-andhi.c: New test. * gcc.target/vax/peephole2-le-andqi.c: New test. * gcc.target/vax/peephole2-le-andsi.c: New test. * gcc.target/vax/peephole2-le-cmpvsi.c: New test. * gcc.target/vax/peephole2-le-cmpzvsi.c: New test. * gcc.target/vax/peephole2-leu-cmpvsi.c: New test. * gcc.target/vax/peephole2-leu-cmpzvsi.c: New test. * gcc.target/vax/peephole2-lt-andhi.c: New test. * gcc.target/vax/peephole2-lt-andqi.c: New test. * gcc.target/vax/peephole2-lt-andsi.c: New test. * gcc.target/vax/peephole2-lt-cmpvsi.c: New test. * gcc.target/vax/peephole2-lt-cmpzvsi.c: New test. * gcc.target/vax/peephole2-ltu-cmpvsi.c: New test. * gcc.target/vax/peephole2-ltu-cmpzvsi.c: New test. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de ` (3 preceding siblings ...) 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org @ 2020-12-05 18:38 ` macro@linux-mips.org 2020-12-05 18:46 ` glaubitz at physik dot fu-berlin.de 2020-12-06 11:48 ` macro@linux-mips.org 6 siblings, 0 replies; 8+ messages in thread From: macro@linux-mips.org @ 2020-12-05 18:38 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 --- Comment #4 from Maciej W. Rozycki <macro@linux-mips.org> --- Conversion complete. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de ` (4 preceding siblings ...) 2020-12-05 18:38 ` macro@linux-mips.org @ 2020-12-05 18:46 ` glaubitz at physik dot fu-berlin.de 2020-12-06 11:48 ` macro@linux-mips.org 6 siblings, 0 replies; 8+ messages in thread From: glaubitz at physik dot fu-berlin.de @ 2020-12-05 18:46 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 --- Comment #5 from John Paul Adrian Glaubitz <glaubitz at physik dot fu-berlin.de> --- (In reply to Maciej W. Rozycki from comment #4) > Conversion complete. Great. The Bountysource campaign closes the moment you close this bug report. Then every supporter can vote whether they accept the solution. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/95294] [vax] Convert the backend to MODE_CC so it can be kept in future releases 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de ` (5 preceding siblings ...) 2020-12-05 18:46 ` glaubitz at physik dot fu-berlin.de @ 2020-12-06 11:48 ` macro@linux-mips.org 6 siblings, 0 replies; 8+ messages in thread From: macro@linux-mips.org @ 2020-12-06 11:48 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95294 Maciej W. Rozycki <macro@linux-mips.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #6 from Maciej W. Rozycki <macro@linux-mips.org> --- Do actually close the bug as previously intended. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-12-06 11:48 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-23 20:56 [Bug target/95294] New: [vax] Convert the backend to MODE_CC so it can be kept in future releases glaubitz at physik dot fu-berlin.de 2020-05-29 22:32 ` [Bug target/95294] " egallager at gcc dot gnu.org 2020-10-17 19:13 ` macro@linux-mips.org 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org 2020-12-05 18:30 ` cvs-commit at gcc dot gnu.org 2020-12-05 18:38 ` macro@linux-mips.org 2020-12-05 18:46 ` glaubitz at physik dot fu-berlin.de 2020-12-06 11:48 ` macro@linux-mips.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).