[7/*] This continues for three years, up through 10.0.1. There are slight variations but the code remains mostly the same.pic.twitter.com/7hYeuSXtSP
I'm worried that the baby thinks people can't change.
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Add this Tweet to your website by copying the code below. Learn more
Add this video to your website by copying the code below. Learn more
By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.
| Country | Code | For customers of |
|---|---|---|
| United States | 40404 | (any) |
| Canada | 21212 | (any) |
| United Kingdom | 86444 | Vodafone, Orange, 3, O2 |
| Brazil | 40404 | Nextel, TIM |
| Haiti | 40404 | Digicel, Voila |
| Ireland | 51210 | Vodafone, O2 |
| India | 53000 | Bharti Airtel, Videocon, Reliance |
| Indonesia | 89887 | AXIS, 3, Telkomsel, Indosat, XL Axiata |
| Italy | 4880804 | Wind |
| 3424486444 | Vodafone | |
| » See SMS short codes for other countries | ||
This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.
Hover over the profile pic and click the Following button to unfollow any account.
When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.
The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.
Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.
Get instant insight into what people are talking about now.
Follow more accounts to get instant updates about topics you care about.
See the latest conversations about any topic instantly.
Catch up instantly on the best stories happening as they unfold.
[7/*] This continues for three years, up through 10.0.1. There are slight variations but the code remains mostly the same.pic.twitter.com/7hYeuSXtSP
[8/*] Finally, in 11.0.0, the correct codegen is restored.pic.twitter.com/ruyLZIBVA8
[9/*] This is what makes it so hard to work with CLANG for optimized code :( You never have any idea when it is going to critically break. You may carefully inspect some part of your code, and verify that it compiles to sane ASM... but it can change radically from a version bump.
[10/*] And furthermore, since the optimizer changes so dramatically from release to release, they may fix something broken (resulting in a speed win) and break something else (speed loss), so you can't even just use benchmarks to know things didn't regress.
[11/*] You can use a profile to know the _total_ speed of your program didn't get slower, but several parts may have gotten slower due to CLANG optimizer freakouts, and as long as they improved other parts as much (or more!), you won't even know until you reanalyze manually.
[12/*] I am not an optimization person. I maybe spend a week every three months looking at ASM. This has happened to me _three times in the last year_. It's almost 100% of the time I've looked at CLANG ASM, I have hit something like this.
[13/*] I'm not sure what the solution to this problem is. But I do think it would be a nice start for people to recognize that it _is_ a problem, because I think it really is.
Also, in cases like this where you’re basically trying to tell the compiler what assembly code to emit, you can turn the optimizer off for that function (e.g. with the “optnone” attribute).
That's not what that does, nor is it what that's for. "optnone" doesn't instruct the compiler to produce a reasonable asm translation. It instructs the compiler to produce the completely stack-based version of the routine. It is not usable for performance code, ever:pic.twitter.com/37FcEYFG8V
Hmmm, OK. In which case there might be an argument for an attribute that just does what’s necessary for the intrinsics to generate good code, and no more.
That was my point. Alternatively, a more usable inline assembler. The current one is a real PITA. A really high-quality inline assembler would be my first choice, actually, because then you know exactly what is going to happen, and can do whatever you want.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.