Bug 16680 – dmd doesn't use druntime optimized versions of subtraction array operations

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2016-11-11T09:53:00Z
Last change time
2017-08-09T10:39:44Z
Keywords
pull
Assigned to
nobody
Creator
olegus13

Comments

Comment #0 by olegus13 — 2016-11-11T09:53:17Z
DMD generates function name for substract array operations that differs from from name in drintime library. Eg. a[] = b[] - c[]; DMD version _arraySliceSliceSubSliceAssign_i drintime _arraySliceSliceMinSliceAssign_i I found, that substract operation name was changed in 'arrayop.c' from "Min" to "Sub", see patch https://github.com/dlang/dmd/commit/c5297b8ba310029438dc332152ec173a7387fead (22 Jun 2013). This new name migrated to newly written code 'arrayop.d'
Comment #1 by code — 2016-11-20T22:44:38Z
This will be solved by replacing the asm code with templated array ops, also see https://trello.com/c/TNCQ6xBk/85-templated-library-arrayop-implementation-also-fixes-issue-15619-and-issue-16680.
Comment #2 by r.sagitario — 2017-01-08T18:00:00Z
Templated array ops are likely to take a couple of years, so here's a fix for this typo: https://github.com/dlang/dmd/pull/6413
Comment #3 by github-bugzilla — 2017-01-08T21:57:19Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/8eb8a67e6e4d47244db99e35ad02f42e1de7d253 fix issue 16680: avoid inconsistent usage of Sub and Min https://github.com/dlang/dmd/commit/c0d93d18a99a2425961a036138afbc9b1c0ddfae Merge pull request #6413 from rainers/fix16680 fix issue 16680: avoid inconsistent usage of Sub and Min in array operations
Comment #4 by github-bugzilla — 2017-01-16T23:26:11Z
Commits pushed to newCTFE at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/8eb8a67e6e4d47244db99e35ad02f42e1de7d253 fix issue 16680: avoid inconsistent usage of Sub and Min https://github.com/dlang/dmd/commit/c0d93d18a99a2425961a036138afbc9b1c0ddfae Merge pull request #6413 from rainers/fix16680
Comment #5 by github-bugzilla — 2017-03-22T12:20:52Z
Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/8eb8a67e6e4d47244db99e35ad02f42e1de7d253 fix issue 16680: avoid inconsistent usage of Sub and Min https://github.com/dlang/dmd/commit/c0d93d18a99a2425961a036138afbc9b1c0ddfae Merge pull request #6413 from rainers/fix16680
Comment #6 by github-bugzilla — 2017-08-09T10:39:44Z
Commit pushed to master at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/184435f243b830cf464047deb1b636a8d5b4ed4a implement templated array ops - use RPN to encode operand precedence - fixes Issue 15619, and 16680