In few companies that I know off, I see people responding to emails, checking in code at their midnight almost regularly,
Is this exceptional or every IT companies in US are screwing it's employee like this ?
How are you managing to work so many extra hours per day regularly ? Does your company provide work from home option ? How many hours you work from home per day ? what time you go to office ?

>> Is this exceptional or every IT companies in US are screwing it's employee like this ?

I don't know that I would go so far as to say they're "screwing" employees. I like to start work ~2am and be out the door by noon so I can attend school. So while I do work odd hours I don't necesarrily work more hours than someone during the day. If anything it is generous of the company to let me do that since I am not here during normal business hours to support my projects, so in that sense I am more of a liability than other developers.

Its really on a case-by-case basis of why they have that working arrangement. Most software developers I know like the late night or early morning because its quiet.

It depend on your work. If you work with oversea people, that have a different time zone, then you move the start and end time of work to better adjust. I worked from EU with Argentina and I have told to my boss, that I will start at 11 and end at 20. He was ok with it.
Anyway this is only possible if you have a laptop, if you don't want to sit at office. And when you have a laptop, its is just a little step from working as homeoffice. Anyway it strongly depends on the work you are doing. Homeoffice is a valuable ability, if you feel sick. You can work from your warm bed and still being paid as being at work. But some companies have a rule, that when you are working from home in longterm, then they adjust(lower) your salary.

In IT you cannot say, that the 8 hour and then nothing. Sometimes and it is quite often, the job goes with you home.

Anyway in this so called crisis the employeer(manager) can indirectly make you to work as he wants.

You'll see stuff like this happening somewhat often in the game industry as many times. The developer is given a schedule from the publisher, who may not always have a firm grasp on how long things take to get done. Or they do and they don't care. Sometimes it's the developer's fault too (in any industry) for slacking off and/or not having the right type or right amount of people. There's too many factors to really say anyone's screwing anyone unless you really know the companies involved.