Skip to content
This repository was archived by the owner on Feb 8, 2024. It is now read-only.

Tackle issue #1715 (force-inline intrinsic shims)#83

Merged
dnadlinger merged 3 commits intoldc-developers:ldcfrom
kinke:fix1715
Sep 3, 2016
Merged

Tackle issue #1715 (force-inline intrinsic shims)#83
dnadlinger merged 3 commits intoldc-developers:ldcfrom
kinke:fix1715

Conversation

@kinke
Copy link
Member

@kinke kinke commented Sep 2, 2016

No description provided.

HeadUnshared!(T) atomicOp(string op, T, V1)( ref shared T val, V1 mod )
if( __traits( compiles, mixin( "*cast(T*)&val" ~ op ~ "mod" ) ) )
{
pragma(inline, true);
Copy link
Member Author

@kinke kinke Sep 2, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be nicer as function prefix (pragma(inline, true) T func()), right? Does that work correctly too? ;) I've only just seen it in core.checkedint.

And make use of LLVM byteswap/bitreverse intrinsics, the latter only
available since LLVM 3.9.
@dnadlinger dnadlinger merged commit 07dab72 into ldc-developers:ldc Sep 3, 2016
@kinke kinke deleted the fix1715 branch September 4, 2016 09:53
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants